Path: utzoo!utgpu!news-server.csri.toronto.edu!cs.utexas.edu!uunet!van-bc!ubc-cs!mprgate.mpr.ca!newshost!morse From: morse@quark.mpr.ca (Daryl Morse) Newsgroups: comp.lang.smalltalk Subject: Re: Interface Builders? Message-ID: Date: 20 Dec 90 09:51:03 GMT References: <1386@autodesk.COM> <502@scubed.SCUBED.COM> <503@scubed.SCUBED.COM> Sender: news@mprgate.mpr.ca Followup-To: comp.lang.smalltalk Distribution: comp Organization: MPR Teltech Ltd., Burnaby, BC, Canada. Lines: 97 In-Reply-To: warner@scubed.com's message of 20 Dec 90 00:32:08 GMT In article <503@scubed.SCUBED.COM> warner@scubed.com (Ken Warner) writes: In article morse@quark.mpr.ca (Daryl Morse) writes: >In article <502@scubed.SCUBED.COM> warner@scubed.com (Ken Warner) writes: >[lots of stuff deleted] >>Having recently made the leap from "conventional procedure oriented" >>languages to Smalltalk, I will confess that it was non-trivial. >>Furthermore, I agree that training costs *are* not insignificant. >>However, to suggest that a leap to C++ would have been any less costly >>is very misleading. >For the sake of discussion: Are the differences between language and >environment a little blurred here? There are two separate tasks here: >Learning the language and learning the environment. This holds for >both C++ and Smalltalk. >When I became a Smalltalk programmer, the hardest thing to get a gut >feeling for was the message passing paradigm. Once I grasped that, >the syntax of the language was fairly simple. However, becomming >familiar with all the nooks and crannies of the environment still >consumes me. I agree, the distinction between the ST80 language and its environment is blurry. The language is deceptively simple. It is small, but the enormity of the environment (ie. classes and browsers) is quite overwhelming. Unfortunately, it is difficult to accomplish much without learning some of both. In retrospect, perhaps the most important thing about ST80 is the fact that it is interpreted. You want to see what a class does, bring up a workspace and try it. Almost no "packaging code" is necessary. Having to go through edit-compile-link-run would not work (well) with ST80. >>C++ ended up with a syntax that IMHO, is kludgy, complex, and very >>difficult to learn. >Are you talking about the language or the implementation? Would the >Objectworks version of C++ made learning C++ less of an effort? >More of an effort? Objectworks C++ is CFront (ie. AT&T C++) if memory serves me correctly. Thus, there is no Objectworks version of C++, per se. Speaking here from the experiences of my co-workers, when dealing with C++, the environment is quite distinct from the language. A good environment helps you browse class libraries (assuming you have some to browse), and learn what they provide, but you are still left with the task of learning the language. A task that is very non-trivial. >>Having been a user of 4.0 for some months, I am not ambivalent toward >>it. 4.0 is a much improved product over its predecessor. >How so? Release 4 is more convenient to use, particularly when you have other things to do, because it doesn't consume your whole screen. An example of this is when you are working on user-defined primitives. You have to work in both C and ST80, and when you are coding the boundary-layer, it is much easier to do both at the same time. The new interfaces are also more conventional and more modern-looking and -feeling. I really didn't care much for the old interface. The SPIM (Smalltalk Portable Imaging Model for graphics and images) is more powerful than what the old product had, and supports color quite well. I will digress for a moment. SPIM is pretty low-level. And contrary to what you may have heard, MVC (model-view-controller) is alive and well in Release 4. I just completed writing a relatively simple visual interface using both SPIM and MVC. Putting it nicely, they practically beg for 3rd-party interface builders and graphics packages because they are so low-level. >>The browsers and other user interfaces are all very usable, albeit, >>with a few little quirks. >What quirks? Little things, like browsing senders and implementors. These features don't work quite as well as they could. A few other things could be improved to make the user interface more intuitive, but they are sort of hard to describe in a short? mail message. >>Having separate windows is very useful if >>you normally do other things while you are running ST80. If you want >>to run more than one copy of ST80 at the same time, which we do often, >>having separate windows is a necessity. >This is interesting...could you elaborate? We are working on distribution, migrating objects between systems. -- Daryl Morse | Voice : (604) 293-5476 MPR Teltech Ltd. | Fax : (604) 293-5787 8999 Nelson Way, Burnaby, BC | E-Mail: morse@quark.mpr.ca Canada, V5A 4B5 | quark.mpr.ca!morse@uunet.uu.net