[net.lang.st80] Stupid Questions about Berkeley SmallTalk

winkler@harvard.ARPA (Dan Winkler) (03/04/85)

I'm about to embark on a large programming project on a Sun and I'm trying
to decide between using Berkeley SmallTalk and using C.  I've never used
SmallTalk, but from reading the books it looks easy and fun to pick up.

I'm attracted to SmallTalk because the environment looks much nicer than
C and dbx.  Also, the graphics interface looks easier to use than Sunwindows.
However, noone at Harvard uses SmallTalk and I have a few questions: 

	1) How much slower is Berkely SmallTalk than C on a Sun 2 workstation? 
	2) Is it stable and fairly bug free? 
	3) When speed becomes a real issue, will I be able to load different
		microcode on our Xerox Lisp machines and run my SmallTalk
		programs there?
	4) How easy is it to work with digitized images that have been
		ftp'd from some other machine?

The project I'm doing is an implementation of Valiant's learning protocols
applied to handwriting recognition.  On the graphics side, we will want to 
do things like run thinning algorithms on bit images.  On the learning side,
we will be working with boolean functions (mainly monomials).  Lisp is great
for working with monomials since you can evaluate p1p2p3...pt with:

		(and p1 p2 p3 ... pt)

How would you represent monomials and more general boolean expressions in
SmallTalk?  (I told you these were stupid questions!)

Thanks in advance.

By the way, Apple just released SmallTalk for the Lisa.  They had never
released it before because it was too slow, but with recent speed improvements
it is now (allegedly) reasonably quick.

Dan. (winkler@harvard)

dan@fluke.UUCP (Dan Everhart) (03/07/85)

I have not (yet) used BS for a real application, but I will make
observations based on the few toys I have built with it.

> 
> 	1) How much slower is Berkely SmallTalk than C on a Sun 2 workstation? 
Lots.  On the other hand you will probably spend a lot more time in
development using C.  Smalltalk might provide a lot of stuff that you can
use already built in.  With 1 meg of memory it is so slow that it's
unusable.  With 2 megs it usable, but still slow enough to be annoying.  I
suspect more memory would make it faster but have not tried it.

> 	2) Is it stable and fairly bug free? 

As far as I can tell, no.  Although the latest release fixed some of the
worst bugs, there are still references to unimplemented things floating
around, and occasional blow-ups.  The ability to maintain versions and
recover from crashes that is provided by the Smalltalk environment helps a
lot though.

This is printed in bold face in one of the documents that comes with BS:

"Beware: Although we rely on BS, it is a research vehicle and not production
software.  Expect bugs (we certainly do)."

In spite of all this I would recommend you consider BS carefully; there are
a lot of advantages to developing software with Smalltalk.

Dan Everhart
John Fluke Mfg. Co.
{ decvax!microsof, uw-beaver, allegra, lbl-csam, ssc-vax } !fluke!dan