[comp.object] Objective-C Browser

greg@sce.carleton.ca (Greg Franks) (06/27/90)

In article <1654@dinl.mmc.UUCP> noren@dinl.UUCP (Charles Noren) writes:
>As I've stated before, the browser is
>WONDERFUL!  I've been able to find out lots
>about the Objective-C class libraries by
>browsing it.  The current release is read-only,
>but the next version will be read/write, so I
>could edit method bar if I wanted to from the
>window.  Browsers are SO useful that I think
>we will be seeing them everywhere for Object-
>Oriented languages soon.  Whoever wrote this
>inside Stepstone did a very nice job.

I will agree that the browser is indeed wonderful, but it is not
without some glitches that will likely surprise first time users:

1) Four windows along the top are very reminiscent of the smalltalk
   browser, however, they only really need three since the contents 
   of the windows are not constrained as they are in smalltalk's.  The
   extra width would be nice.

2) You can't resize the windows which is a bit of a drag when one
   encounters large methods (or methods with lots of comments).

3) Method names larger than 75 characters cause the program to core
   dump.  (blech).

4) Forgetting '@end' in  in a .m file causes the browser to emit tons
   of useless (to the user) diagnostics then core dump.

5) It would be nice if you could edit within the browser (ala
   smalltalk), although I must that I would rather use a real editor)
   (perhaps a browser mode in GNU emacs :-)

I imagine that these little rough edges (especially the problems that
cause core dumps) will disappear in the next release.  

Real wins include:

Listing all methods that a given class supports by searching up
through the inheritence tree (even Smalltalk doesn't do this).  This
feature eliminates the dreaded "where the &*(^ is this method
implemented" headache.  

Being able to locate all users of a given method.  This capability
allows one to change interfaces with wild abandone (perhaps its not
such a good feature after all).  If they hooked in an editor, so much
the better (I hope they permit hooks into RCS and SCCS too!)

Despite the bugs and other annoyances, we're more than happy with it
(we use it on 50,000+ lines of code shared among 4 people).  It is
well worth the bucks.  Hint: put comments in your code that inform the
user about the purpose and use of each and every method.  You can then
toss all your class library manuals.
-- 
Greg Franks, (613) 788-5726              |"The reason that God was able to
Systems Engineering, Carleton University,|create the world in seven days is
Ottawa, Ontario, Canada  K1S 5B6.        |that he didn't have to worry about
greg@sce.carleton.ca uunet!mitel!sce!greg|the installed base" -- Enzo Torresi

klimas@astro.pc.ab.com (06/30/90)

 
> Listing all methods that a given class supports by searching up
> through the inheritence tree (even Smalltalk doesn't do this).  This
> feature eliminates the dreaded "where the &*(^ is this method
> implemented" headache
	I believe Smalltalk/VPM DOES explicitly support this and it is
	a trivial addition to the other dialects' browsers.