riferguson@watmath.UUCP (Rob Ferguson [MFCF]) (11/27/85)
About a week ago, I recieved my copy of MacSmalltalk from Apple, and having spent some time playing with it, I thought I should post a short review. Some background first. The Smalltalk group at Apple have been working on developing Smalltalk for the Macintosh for some time now, and are currently making available a prerelease version (0.2) to interested parties for the cost of duplication ($US 50.00). MacSmalltalk is based on the "Version 1" Smalltalk image from Xerox, and therefore it is somewhat older and less sophisticated than the one documented in the Smalltalk books published by Addison-Wesley. Apple supplies a Smalltalk interpreter, two images ("level0" which runs in 512k, and "level1" which requires 1M), and complete Smalltalk sources to all of the image software; this amounts to 7 disks in total. In a word, it's wonderful. I am very impressed with the job that the people in the Smalltalk group at Apple have done to make the ST80 system usable even on my limited configuration machine (512k, 1 drive). I despirately want more memory to do the system justice, but even the small amount of free space (about 44k) which is available is enough to make the system usable. As for speed (one of the prime considerations in any Smalltalk system), it *feels* about 1/2 as fast as the Tek 4404 implementation; this gives performance in the range of 12-14% Dorado, which is compatible with the reported benchmarks. Apple's claim that the system is "slightly faster" than Berkeley Smalltalk II on a Sun does not seem at all unreasonable. Just to give you something to compare these performence figures against, editing text in MacSmalltalk reminds me of using vi on a VAX 11/780 with about a 10 load average. The 512k version of MacSmalltalk ("level 0") has some of the neat ST extras cut out (such as the Bit and Form editors) for space reasons, but the important parts of the programming environment are still present. I went through the example from the Xerox "Smalltalk Demo" video tape which involved changing text highlighting from reverse video to outline, and everything worked exactly as I expected - I could interrupt the system and get a "user interrupt" window, select a stack frame and invoke the debugger, use the browser to look around the system, everything! MacSmalltalk does not currently use the Mac's ROM routines, although they have been made available for use through a extra "primitive" interface. Unfortunately, it's still a bit flakey; I suspect it was put in at the last minute, since they don't even bother to read the Mac's internal clock in class "Time" (I've fixed this in my image). Apple apparently plans to integrate at least the Quickdraw routines into Smalltalk in the future; they include an screen manipulation example that shows about a 10 fold improvement in drawing speed when using the ROM routines. It is interesting to see how Apple has gotten around the problem of a one button mouse; "enter" and "option" serve as meta-keys for the "yellowButton" and "blueButton" menus, respecitively. In addition clicking in the title-bar will give you the blue button menu, and clicking on the boundry between the window and its scroll bar will give you the yellowButton menu. Surprisingly, this isn't nearly as bad as it sounds. I am not as bothered by the small screen as I thought I might be. On the other hand, my roomate (who has had extensive experience using Interlisp-D on a Dandilion) says that it drives him nuts. The system is not finished by any means; it occasionally will handle out of memory problems poorly, and I had it loop in the Mac "bomb" error handler once. Of course, as with any ST system, you can hang yourself out to dry by changing something inside Smalltalk incorrectly (sigh). All in all, though, I am very happy that I got MacSmalltalk. The system is a very worthwhile investment, and certainly lives up to its billing as an excellent introduction to Smalltalk and to object-oriented programming. I am very excited about the potential for future Smalltalk systems on the Mac. By the way, I would be very interested in corresponding with any other people who have MacSmalltalk; I have some neat "goodies" to exchange, and I have some problems that I would LOVE to talk to somebody about... rif ....................... Rob Ferguson {allegra,clyde,decvax,ihnp4,linus,utzoo}!watmath!riferguson
mark@apple.UUCP (Mark Lentczner) (12/02/85)
[] Being a member of the Smalltalk group at Apple, I was very pleased to see the review of our current release of Smalltalk for the Macintosh. I need to correct two things with the review however. 1) The release is not called "MacSmalltalk" and is not a product. This may sound nit-picky, but it is important to us. The system is known as "The Smalltalk-80 Programming System for the Macintosh" and is available as an unsported release (we do have an e-mail address for answering questions, but seeing as it is staffed only by us, the development group of four people, we can't always get to everything). 2) The reviewer only had a 512k machine and hence only used level 0 of the release. Level 1, which requires 1 Meg or more, is the full Xerox Version 1 plus many extras added by us. Level 1 has nearly all the features of Xerox Version 2 and is not, in our opinion, "less sophisticated than Version 2" as the reviewer states. Also, the reviewer didn't say how to order it. If you want an order form send a request to: Smalltalk Request c/o Lyn Teermer Apple Computer, Inc. 20525 Bandley Drive, MS:3T Cupertino, CA, 95014 She will send you an order form and some additional information. The prices are $50 for the system and $150 for an institution license ($50 for an educational institution). -mark lentczner Smalltalk Group Apple Computer me: mark@apple.CSNET {nsc,ios,voder,dual}!apple!mark st-80: macst@apple.CSNET {nsc,ios,voder,dual}!apple!macst the -- --Mark Lentczner Apple Computer UUCP: {nsc, dual, voder, ios}!apple!mark CSNET: mark@Apple.CSNET