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