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