Path: utzoo!utgpu!jarvis.csri.toronto.edu!mailrus!tut.cis.ohio-state.edu!ucbvax!mtxinu!sybase!sisyphus!dg
From: dg@sisyphus.sybase.com (David Gould)
Newsgroups: comp.lang.smalltalk
Subject: Re: Questions from a novice on development environments...
Message-ID: <6366@sybase.sybase.com>
Date: 28 Sep 89 23:47:09 GMT
References: <520002@hpsad.HP.COM>
Sender: news@sybase.sybase.com
Reply-To: dg@sybase.com (David Gould)
Organization: Sybase, Inc.
Lines: 46

In article <520002@hpsad.HP.COM> jsv@hpsad.HP.COM (Jeff Vetter) writes:
>  I am new to the Smalltalk language and I am interested in purchasing a
>Smalltalk development environment for my PC AT.  I have a few questions
>about the current offerings.

  [questions omitted]

>Jeffrey S. Vetter
>HP Signal Analysis Division
>Rohnert Park, CA

Any Smalltalk programmer will tell you that C++ does not have a development
environment ;-).  This is true.  My own experience is that the Digitalk
Smalltalk/V is a great product, (I run it on a Mac tho).  It is fast, fun,
cheap, stable, and has a good manual (one of the books you are looking for).
On the down side it is a subset of the ParcPlace product. For learning the
choice is clear (to me at least).

I believe that both systems can produce standalone applications, but you
should expect these to be very large (file & memory size) compared to
a C program (but the source will be _much_ smaller).  All commercial
Smalltalks are compilers, but they all generate bytecodes for the
Smalltalk virtual machine, so that makes them all interpreters too.

I highly recommend the book: Smalltalk-80, the Language, by Adele Goldberg
(Addison Wesley), even if you don't end up with smalltalk.  It provides a very
good description of the class library, and the class library is the most
important thing in any OO language (unless of course you want to write all
your own code).  There are several other books to look at, and most of them
seem worthwhile, but  start with Goldberg and you will have the basic ideas
and understanding to evaluate the others yourself.

As for C++, it is a hybrid of C and object oriented ideas, and while a big
improvement on C and likely to be very successful, I can't recommend it for
learning OO programming or ideas.  In Smalltalk _everything_ is an object, so
the language is very consistent and elegant.  In C++ nothing is an object,
unless you make it one yourself, so it is possible to continue writing C
programs without every really developing an object oriented style.  Even if
you are 100% sure that you will end up useing C++, start out with Smalltalk.

					- dg


------  All opinions are mine and may or may not represent Sybase Inc.  ------
David Gould       dg@sybase.com        {sun,lll-tis,pyramid,pacbell}!sybase!dg
                  (415) 596-3414      6475 Christie Ave.  Emeryville, CA 94608