Newsgroups: comp.lang.smalltalk,comp.object,comp.lang.c++,comp.lang.java
Path: cantaloupe.srv.cs.cmu.edu!das-news2.harvard.edu!news4.ner.bbnplanet.net!news.ner.bbnplanet.net!news3.near.net!paperboy.wellfleet.com!news-feed-1.peachnet.edu!gatech!usenet.eel.ufl.edu!newsfeed.internetmci.com!in2.uu.net!EU.net!sun4nl!news
From: mzomer@inter.nl.net (mzomer)
Subject: Re: The Good, the Bad, the Ugly, and the Wicked ...
X-Nntp-Posting-Host: ztm99-18.zoetermeer.nl.net
Message-ID: <Doy5xL.KIq@solair1.inter.NL.net>
Sender: news@solair1.inter.NL.net (News at news)
Reply-To: mzomer@asd.bso.nl
Organization: ORIGIN
X-Newsreader: WinVN 0.93.9
References: <31570B8E.5A12@vmark.com> <4j96el$74n@druid.borland.com>
Mime-Version: 1.0
Date: Thu, 28 Mar 1996 07:13:39 GMT
Lines: 73
Xref: glinda.oz.cs.cmu.edu comp.lang.smalltalk:36487 comp.object:46704 comp.lang.c++:181258 comp.lang.java:35133

In article <4j96el$74n@druid.borland.com>, pete@borland.com says...
>
>In article <31570B8E.5A12@vmark.com>, jsutherland@vmark.com says...
>>
>>Last year I wrote an article in Object Magazine called, "Smalltalk,
>>C++, and OO COBOL: The Good, the Bad, and the Ugly." (see
>>http://www.tiac.net/users/jsuth/papers/oocobol.html) It got quite a 
>>lot of comment so I am updating it this year to include Java,
>>the Wicked (see http://www.onemind.com/roadkill.html). 
>>
>>The paper incorporates a table with ratings (1) Good, (3) Bad,
>>and (2) Ugly. The target environment is a typical business system
>>built in an MIS shop, i.e. not a number crunching scientific application
>>which would be best written in C++ and optimized to the point where
>>it was really just C code in disguise.
>>
>>People in the newsgroup were not bashful about commenting on the table
>>last year so I am asking for your feedback again this year. I will respond
>>in the newsgroup as to rational for any of these numbers.
>>
>>                                        ST      C++     OOC     Java
>>Flexibility     Dynamic Binding         1       2       2       2
>>                Dynamic Classes         1       3       1       2
>>                Multiple Inheritance    3       2       2       3
>>                Roles                   2       3       3       1
>>Ease of use     Class Libraries         1       3       3       2
>>                Learning Curve          1       3       2       1
>>                Speed of Development    1       3       2       2
>>                Portability             2       3       3       1
>>Support         Tools                   1       1       3       3
>>                Multiple Vendors        2       1       3       1
>>Performance                             2       1       3       3
>>Risk            Garbage Collection      1       3       3       2
>>                Memory Leaks            1       3       1       1
>>                Overwriting Memory      1       3       1       1
>>                Ready for Prime Time    1       1       2       3
>>TOTAL           (low means best)        21      35      34      28
>
>"(low means best)"? Nonsense. Low means that the sum of these arbitrary 
>comparisons is lowest. That's all.  Two "good"s aren't necessarily equivalent 
>to one "ugly". Adding up a bunch of meaningless numbers does not produce a 
>meaningful number.
>
What does the table above tell us? It tells me more about the writer
than about the languages itself.

I did some projects with ST and C++ and really the differences
are not that big. But you have to realize that C++ is NOT and OOPL, it
is a multi paradigm language, so comparing C++ with ST or any other
OOPL is not quite fair.

Many of the ratings in the table are simply not true. For example
portability. When you use PARTS (from Digitalk) to build your GUI
you're talking about code that can't be ported to any other
smalltalk environment! Or when you're using the ODBC interface
of Digitalk and you want to switch to VisualAge, you a have a major
problem!
And what about pure Object Oriented paradigms like data encapsulation?
ST does not support that basic paradigm, so which of the compared
languages is pure OO? May be Jave but not Smalltalk.

For a fair comparison you have to use more items to compare. The
few you used do not give the complete picture!

I think that your comparison contains to much black and white,
show me some gray and you will see that the differences are not
that big.


CU

--martin

