[comp.lang.smalltalk] Smalltalk Product Summary

benson@blake.acs.washington.edu (Dan Benson) (02/28/90)

A few weeks ago I posted a question about the pros and cons of
ParcPlace Smalltalk-80 vs. Digitalk's Smalltalk/V.  I promised to
post a summary of the responses and here it is (each separated by
dashes ---).  I've edited them to shorten it up and to keep it
anonymous.

As I mentioned in my original posting I'm currently using Digitalk's
Smalltalk/V and based on the comments I received, I have decided to
purchase ParcPlace's Smalltalk.  Thanks to all who responded.

Dan Benson
Dept. of Elec. Engr., FT-10
University of Washington
Seattle, WA 98195
(206) 545-7567
benson@ee.washington.edu

P.S.  If anyone else wants to comment I'd like to hear what you
have to say. 
---------------------------------------
>I was told that Smalltalk-80 is a superset of Digitalk's Smalltalk
>and that it was more portable between platforms.

It's not a superset; they are incomparable. For example, ST80 does not
support color. It certainly is more portable, but only to platforms that
Parcplace supports; so far they have not said anything about the new
IBM's, but I would guess they will eventually support them.

>I'd like to hear from
>experienced users how they feel about ParcPlace's product (apparently
>they like to call it Objectworks for Smalltalk-80 instead of simply
>Smalltalk-80).

Our experience has been good. We're running it on Sun 3's, Sun 4's,
and MacIIs. Objectworks for ST-80 is the latest version (2.5) of
what used to be called just Smalltalk-80. I think the other platforms
they support are 386 DOS, HP, maybe Apollo.
---------------------------------------
> ... I'd like to hear from
>experienced users how they feel about ParcPlace's product (apparently
>they like to call it Objectworks for Smalltalk-80 instead of simply
>Smalltalk-80).

Not so.  Objectworks is a separate product which is written in PPS
Smalltalk.  Objectworks is a program development environment much like
Smalltalk itself, but it is used to develop C++ code.  I haven't seen a
version of it that works yet, but I have talked to people at Parc Place
about it, and the idea is nice.
---------------------------------------
I did a rapid prototyping project in Smalltalk-80 last spring and was
very pleased with it.  I needed to deliver the prototype on a Sun-3 and
a Mac SE30.  The portability between these platforms was totally
painless.  An amusing story about the first time I did this:  people
told me that I could save my classes on either the Mac or the Sun, put
them on a floppy, load them up, file them in and that would be it.
I took a Mac home and worked for a week getting the first version of my
project up and running.  I then put it on a floppy and loaded it up on
the Sun.  When I ran the application, it didn't work right.  There was a
one-line window that did not have any text in it (and should have).  I
immediately panicked and went into the debugger.  A few minutes
later, the problem was obvious.  The fonts were different on the two
machines.

The default window size I have set up for the Mac was slightly too small
(by a few pixels) for the Sun.  This meant that the on-line window was not
large enough to hold the equivalant font on the Sun workstation.  In this
case, Smalltalk does not try to truncate the characters, but simply shows
nothing at all.  I increased the size of the window and started breathing
again.

I have recently purchased Smalltalk/V for the Mac.  I have not had a chance
to use it a great deal, but here are my first impressions and comparisons
to Smalltalk-80:

	- Smalltalk/V runs impressively well on small machines (I am using
	  a Mac Plus w/ 2Mb of memory.  Smalltalk-80 requires a Mac II or
	  SE30 w/ 5Mb of memory to get reasonable performance.

	- The Smalltalk-80 environment (particularly the class browser) is
	  much better than Smalltalk/V.  Smalltalk-80 partitions the
	  library classes into groups called "categories" and groups the
	  methods in a class into "protocols".  This means that the browser
	  displays a four level hierarchy of information.  Smalltalk/V only
	  has two levels (class and method).  This is a serious drawback
	  for a large library.  There are also many useful features, like a
	  pattern matching search for classes in the Smalltalk-80 browser.
	  As a new user to Smalltalk/V, I have had a great deal of
	  difficulty simply finding classes in the browser (since it is
	  hierarchy based).  The other environment tools (debugger,
	  inspector, etc.) are also a bit better in Smalltalk-80.

	- The Smalltalk-80 library is larger and more powerful (which is
	  not surprising).  The Smalltalk/V library is quite good, however.
	  One nice feature in the new Smalltalk-80 (version 2.5) is an
	  exception handling mechanism (for dealing with all types of
	  errors).

	- Smalltalk/V on the Mac looks like a Smalltalk application.
	  Smalltalk-80 looks the same on the Sun and Mac.  It's appearance
	  (window graphics, scroll bars, etc.) is unique and very different
	  from both the Sun and the Mac.  This is a disadvantage if your
	  users are familiar with the local windowing system, but an
	  advantage if your users have to move between many different
	  platforms.  This is either an advantage or disadvantage depending
	  on your users.

	- The documentation for Smalltalk-80 is not very good.  I have not
	  looked in detail at the doc for version 2.5 (which includes an
	  on-line tutorial), but the standard books are not useful for a
	  beginner.  The Smalltalk/V documentation and tutorial are much
	  better.  I consider this to be a serious problem with
	  Smalltalk-80.

---------------------------------------
I've been pretty happy with ParcPlace's product, which I run on
a Mac. They offer a good price to Universities, although the price
does not include any kind of support or upgrades. I think it was
about $150 per copy. We've bought a new copy every time we
wanted to upgrade to the next version. The documentation with
2.5 is pretty good and performance is way better than DigiTalk's
Smalltalk, on Mac's at least. It is also a much more complete
environment than Smalltalk/V and the class library is more
complete and better written. (I ran into problems reading numbers
into Smalltalk/V. The problem was a very badly written string-
to-number method. This seems like an obvious problem and it makes
me wonder what other problems are lurking in their classes!)

As for portability, they really have it down. Even images are
portable across platforms in 2.5, as long as the code doesn't
depend on the particulars of any given machine.

Performance is good enough to do real-time music on a Mac!

ParcPlace version 2.3 supported color on Macs but I think they
dropped it in version 2.5 because it wasn't portable. I hope you can
figure out a way to use ParcPlace Smalltalk because it really is
a well-polished system.

Hope this helps.
---------------------------------------
I would recommend that you move to Parc Place ST-80 as soon as possible,
if you do not plan on doing any development for OS/2.  If so then go to DigitalksSmalltalk V/PM. One reason I recommend ParcPlace is that ParcPlace
is the true Smalltalk withthe people who originally developed ST working
there and extending the system.  Another is that Digitalk has taken alot
of the base classes and made them primitives.  For example:  Try to
subclass the string class.  You can't onST V/286, because it is a
primitive.  The final reason is that programs written in ParcPlace ST-80
are binary compatible across all the platforms ParcPlace supports.  Those
platforms are:
     MS-DOS 386's onlySun 3,4 and 386i
     DECstation 3100
     Apple Macintosh
     HP-9000
with some supporting virtual objects.

They were working on a version for NEXT boxes the last I heard.

Greg Woods is right when he says that Digitalk's ST is only a subset.
They do not support all the standard ST-80 classes that are described in
the ST-80 books (Orange, Blue, and Green).  The enviroment that Digitalk
supports is not complete when judged against the Orange book for ST-80.
Basically Digitalk's Smalltalk is only language compatible.  Their
enviroment is not up to Smalltalk-80 standards.  (Ex.  spelling
correction is not included, and I believe neither are explinations etc.) 
This has changed a little with the release of Smalltalk V/PM though,
because Digitalk and ParcPlace have reached some sort of agreement on
what the standard Smalltalk is supposed to support.  You can see that the
browsers and etc have changed in Smalltalk V/PM to be more like
Smalltalk-80 from ParcPlace.

Please post the summary on the net also, so that more people will have a
good description of the two diffrent versions of Smalltalk.
---------------------------------------

-- 
| Dan Benson                        benson@ee.washington.edu    |
| Dept. of Elec. Engr., FT-10                                   |
| University of Washington                                      |
| Seattle, WA  98195                                            |

moss@ibis.cs.umass.edu (Eliot Moss) (03/04/90)

Just a minor note regarding "ObjectWorks" from Parc Place ...

It is my understanding that "ObjectWorks for Smalltalk-80" is essentially the
latest release of Smalltalk-80 from Parc Place, v 2.5.

"ObjectWorks for C++" is a *different* product, providing for the C++
programmer much of the nice *tool* functionality available to the Smalltalk-80
programmer inthe other ObjectWorks product. *Both* ObjectWorks are *written
in* Smalltalk-80, but they are *for* different languages.
--

		J. Eliot B. Moss, Assistant Professor
		Department of Computer and Information Science
		Lederle Graduate Research Center
		University of Massachusetts
		Amherst, MA  01003
		(413) 545-4206; Moss@cs.umass.edu