From: bytor@grumpy.NoSubdomain.NoDomain (Ross Huitt)
Subject: Re: feedback wanted on appropriate OOPL
Organization: Bellcore
Date: Thu, 24 Dec 92 14:15:43 GMT

In article <92358.192930COP80196@UCF1VM.BITNET>, Bill Laird <COP80196@UCF1VM.BITNET> writes:
|> I am taking object oriented programming in the upcoming semester,
|> and wanted to get some feedback from you all.

Ask and you shall receive...

|> 
|> Much to my shagrin, I have found out that Smalltalk will be the
|> programming language  used. I have read that Smalltalk implements
|> dynamic typing, and that everything, even language defined types
|> such as int or float are considered objects.

ok so far...

|> 
|> In the latest edition of the C++ Journal, on page 59 in the article
|> "Why C++ must be the choice", the author states "Smalltalk may
|> retain an interest because of its rapid prototyping capabilities, but
|> for industrial applications it is far too slow and uses too much
|> memory. Furthermore, the dynamic environment of Smalltalk
|> where everything is an object means that everything can be changed
|> by a developer, including basic features of the language."

nasty tone. not exactly accurate either. not surprising, though, considering
the magazine.

|> For the author's need, C++ was the appropriate choice. But here is
|> where I would like some feedback. I know that many C++
|> programmers have Smalltalk experience, so I want to find out
|> which language you think would be the most beneficial to students.

IMNSHO, Smalltalk is a far far superior language for _teaching_ OO
programming and principles, a superior language for rapid prototyping,
and a superior language for OO analysis and design. For actual implementation,
however, there are too many non-technical issues that factor into language
selection. I rarely come across a performance problem in either language
that is not the result of either an inappropriate algorithm, slow
external devices (disk, network, etc..), or just simply the complexity
of the problem to be solved.

|> Keep in mind that many of the students probably won't know
|> anything about OOP, and that in addition to learning a new language,
|> all of the methodology of OOP needs to be learned. Also consider that
|> all of the students have used C in the past, and the temptation to make
|> C act like C++ may be a problem to some.

The students will get something working in an OO fashion much more
quickly with Smalltalk than with C++. Besides, with Smalltalk you don't
have to worry about pesky little things like coredumps or rebooting
your dosbox. Problems like this annoy students (and professional developers).
Little red popup windows are far more instructive than 'Segmentation fault (core dumped)'
messages.

|> Personally, I don't need the intro to OOP with Smalltalk as the tool. I
|> would much rather move on to C++. I plan on making a case to my
|> instructor if I the OOP  community provides some insight supporting
|> this idea.  I want to do C++ programming when I graduate, and feel
|> that Smalltalk is going to slow me down (pun intended) in this endeavor.
|> 

Knowing Smalltalk will improve you abilities to do OO development in any language.
There is no such thing as knowing too much. I would also recommend taking
a very serious look at Eiffel. It provides some wonderful features not found
in either Smalltalk or C++. In a better world, it would be my language of choice.

|> Please send any feedback to my compuserve account if you don't feel a
|> reply belongs on the net. My usenet account is about to expire, but
|> one of the bbs's in my area caries this echo so I will be able to read
|> post's, but not sure if I can be replied to.
|> 
|> I can be reached at compuserve by e-mailing 71753.130@compuserve.com
|> 
|> Thanks in advance for any info,
|> Bill
|> 


Ross Huitt
bytor@ctt.bellcore.com
Newsgroups: comp.lang.c++