[comp.lang.smalltalk] Browsers

des@jplpro.JPL.NASA.GOV (David Smyth) (11/05/87)

I think one of the reasons O-O systems are so hard to take advantage
of is the steep learning curve: it takes awhile to learn all the
classes (Software-ICs).  I think a Browser, which understands the
class hierarchy, is vital to reducing the time it takes to become
productive using an O-O system.

We are beginning to design a system using OOD.  It will be implemented
in either Objective-C or C++, with currently strong leanings toward
Objective-C.  Unfortunatly, neither of these languages has the same
support as those neat-o O-O systems that Xerox has blessed the world
with.  Neither SEEMS to have a Browser.  My plea to the net:

1)  Does anybody know of a useful Browser for either O-C or C++?

2)  What are the most important capabilities of a Browser?

3)  What tools would be most useful for developing O-O applications
under UNIX/NeWS/X11 using O-C or C++?

It is important for me to get feedback from actual developers
who are using complete O-O systems, so I am asking the readers of
this newsgroup instead of the C++ group.  We can Blue-sky with
the best of them, but we need some input from people who know that
O-O tools are not just YAOOLC (yet another O-O language compiler).

PLEASE REPLY TO THE NET, NOT VIA E-MAIL!  I want a discussion,
not a tutorial.
----------------------------------------------------
David Smyth
david@smythsun.jpl.nasa.gov

"OOD - isn't that what old hippies do?"
"OOD - Object Overdose!"

chip@ateng.UUCP (11/09/87)

In article <663@devvax.JPL.NASA.GOV> des@jplpro.JPL.NASA.GOV (David Smyth) writes:
>I think a Browser [...] is vital [...] to become productive using an O-O sys.
>
>1)  Does anybody know of a useful Browser for either O-C or C++?

No, but any decent macro editor -- any emacs, Brief, etc. -- should be able
to provide some support for "cursoring" around a hierarchy.

>2)  What are the most important capabilities of a Browser?

    `What does the tree look like?'
    `What are the implemented methods for class foo?'
    `Show me the source code!'

-- 
Chip Salzenberg         "chip@ateng.UUCP"  or  "{codas,uunet}!ateng!chip"
A T Engineering         My employer's opinions are not mine, but these are.
   "Gentlemen, your work today has been outstanding.  I intend to recommend
   you all for promotion -- in whatever fleet we end up serving."   - JTK

jans@tekcrl.TEK.COM (Jan Steinman) (11/09/87)

<<<... one of the reasons O-O systems are so hard to take advantage of is the 
steep learning curve...  I think a Browser, which understands the class 
hierarchy, is vital to reducing the time it takes to become productive using an 
O-O system.
...
2)  What are the most important capabilities of a Browser?>>>

You hit the nail on the head with the phrase "understands the class hierarchy". 
 To me, this does not mean the traditional Xerox LV2.0 Browser, but a tool that 
is capable of showing the developer all the messages, throughout the 
inheritance chain, that an object is capable of fielding.  The Browser that 
many of us have been using in-house for some time (which will be available in 
Tek Smalltalk "Real Soon Now") has two additional one-line subViews. One allow 
you to specify how far up the inheritance chain you wish to look for methods, 
the other shows which class actually implements any selected method.  Other 
niceties include being able to accept a method into a superclass, and being 
able to look at overridden methods up the superclass chain.

For me, this revolutionizes subclassing.  No more ugly suprises, when you find 
out from users that superclass methods break your subclass.  No more lengthy 
searches to make sure you've overridden all the things you should -- especially 
tedious for superclasses that tend to live in different categories, like 
Collections!  No more of the mental discipline required to keep from modifying 
a method in more than one Browser, as happens when you resort to the inevitable 
"spawn hierarchy".

:::::: Software Productivity Technologies    ---    Smalltalk   Project ::::::
:::::: Jan Steinman N7JDB	Box 500, MS 50-470	(w)503/627-5881 ::::::
:::::: jans@tekcrl.TEK.COM	Beaverton, OR 97077	(h)503/657-7703 ::::::
-- 
(Stamp out facist .signature restrictions!)

sridhar@tekcrl.TEK.COM (S Sridhar) (11/10/87)

>1)  Does anybody know of a useful Browser for either O-C or C++?


 Check out the proceedings (when they come out) of the Usenix C++ workshop. 
There is a paper on a C++ class browser. I know this because  I know the folks 
who developed this. This workshop is actually currently underway (Nov 9, 10) in 

Santa Fe, NM.

Hope  this helps.

--s. sridhar
tektronix  inc.