Xref: utzoo comp.lang.c++:1650 comp.lang.smalltalk:692
Path: utzoo!attcan!uunet!tektronix!tekcrl!tekgvs!jans
From: jans@tekgvs.GVS.TEK.COM (Jan Steinman)
Newsgroups: comp.lang.c++,comp.lang.smalltalk
Subject: Re: OO debuggers
Message-ID: <3967@tekgvs.GVS.TEK.COM>
Date: 20 Sep 88 21:52:57 GMT
Organization: Tektronix Inc., Beaverton, Or.
Lines: 55

<>


<<...you should look closely at the generally available Smalltalk-80 
debugger...>



I'm glad you have,and I agree that it is not without problems.  The fact that 
it is quite different than most debuggers is what I want people to pay 
attention to.  It's a matter of "execution state as an object" vs "rape and 
pillage the process".

<<...execution speed, the least important metric in the present "software 
crisis"...>>

(Boy, am I catching flak for this statement!)

<...one of the important properties of a debugger is that it has minimal effect 
on the observable run-time behaviour of one's program. Smalltalk's debugger... 
falls over here. Having to wait a minute for the debugger to simulate a method 
that usually concludes in 200mS is unacceptable -- especially if you are not 
informed of the delay in advance.>

(More specifically, the Smalltalk-80 V2.2 debugger from PPS.)  I plead the 
ultimate cop-out, "it's an implementation detail."  It's unfortunate if anyone 
has formed an impression of Smalltalk performance based on the debugger.  The 
Tektronix Smalltalk debugger runs at full execution speed, while the original 
Version 2 debugger (and PPS follow-ons) interpret (in Smalltalk) the executing 
method.  I do not know how Smalltalk-V handles this, although I have heard good 
things about their 286-version debugger.

But I digress.  Henry Spencer would turn this discussion into a 
Smalltalk-bashing session, and seems to be unwilling to discuss the 
shortcomings of C++ when used for OO.  I'm unwilling to be pressed into 
defending Smalltalk, rather I'm saying, "Why aren't all you C++ object-oriented 
neophytes looking at the rich body of OO knowledge that has evolved in 
Smalltalk?", with the debugger as an example.

And also with the debugger as an example, I'm pointing out that C++ 
inadequately addresses Smalltalk's greatest strengths: rapid prototyping and 
incremental development.  Smalltalk excels at the "make it work, then make it 
fast" model of development, whereas it appears to me that C++ is heading in the 
direction of more up-front design work, and less in the direction of promoting 
evolutionary development.

I can only laugh sadly when I hear the unspoken undercurrent: "Now that C is 
object-oriented, there's no longer any need for Smalltalk.", and am dismayed 
that a whole generation is doomed to think C++ synonymous with 
object-orientation.  ("Huh, what's Smalltalk?")  I am gratified that Jan Andrew 
Purchase is taking a larger view than most OO newcomers have taken.

:::::: Software Productivity Technologies -- Experiment Manager Project ::::::
:::::: Jan Steinman N7JDB	Box 500, MS 50-383	(w)503/627-5881 ::::::
:::::: jans@tekcrl.TEK.COM	Beaverton, OR 97077	(h)503/657-7703 ::::::