Path: utzoo!utgpu!jarvis.csri.toronto.edu!mailrus!iuvax!uxc.cso.uiuc.edu!uxc.cso.uiuc.edu!m.cs.uiuc.edu!p.cs.uiuc.edu!johnson
From: johnson@p.cs.uiuc.edu
Newsgroups: comp.lang.smalltalk
Subject: Re: New comer?
Message-ID: <80500069@p.cs.uiuc.edu>
Date: 17 Aug 89 14:41:00 GMT
References: <863@orbit.UUCP>
Lines: 26
Nf-ID: #R:orbit.UUCP:863:p.cs.uiuc.edu:80500069:000:1360
Nf-From: p.cs.uiuc.edu!johnson    Aug 17 09:41:00 1989


I use both C++ and Smalltalk heavily.  By heavily, I mean projects
with more than 50,000 lines of code and half a dozen part-time
programmers (i.e. grad students).

Smalltalk is much nicer to use, but C++ is a lot faster.  In my
opinion, people who claim that you can't really do o-o programming
in C++ are crazy.  (Or maybe just ignorant.)  Things like generic
classes are much harder in C++, but there are standard workarounds,
and some of them are not too bad.  The biggest problem with C++ is
the lack of good class libraries and having to use the Unix programming
environment.  One of the strong points of C++ is that it uses the
Unix programming environment.  (It all depends on your point of view.)
The main weaknesses of Smalltalk is lack of performance (but only if
your application would be CPU bound) and the difficulty of integrating
it with other software.  ParcPlace is working on both problems, so
they are not as severe as they used to be.

If you want to build real-time embedded system then you probably want
to use C++.  If you want to build a workstation application with
a fancy interface, and you are more concerned with getting it done
quickly than in selling it to 10,000 customers, then Smalltalk is
almost certainly what you want.  If you tell me more about your
application then I can give you a more detailed opinion.

Ralph Johnson