Path: utzoo!utgpu!news-server.csri.toronto.edu!cs.utexas.edu!usc!aero-c!jordan From: jordan@aero.org (Larry M. Jordan) Newsgroups: comp.lang.modula2 Subject: Re: TopSpeed 3.0 First Impressions Summary: Favorable, but... Message-ID: <1991Jun21.215446.25194@aero.org> Date: 21 Jun 91 21:54:46 GMT References: <9764@sail.LABS.TEK.COM> <9768@sail.LABS.TEK.COM> Sender: news@aero.org Organization: The Aerospace Corporation Lines: 42 I too received my upgrade (and added the TechKit) last night. Someone must have goofed, because the library source was thrown in as well. Is this the same as the "source kit"? I failed to make anything NOT WORK--GRDEMO, DEMO, and a compiler I'm building. I even tried the windows demo--it too fails not to work. I only installed the Small and MThread models and have no idea how much hard disk was required--I had 50Meg available. That appeared to be enough. The mouse seems better supported by the environment than last time. But, I still must use the keyboard to resize windows--awkward. The environment is designed for the keyboard and the mouse is ancillary. JPI makes no pretense here. The CLASS extension has evolved considerably--multiple inheritance and aliasing (renaming of fields and methods) and "safe" downcasting (if ancestor classes are "up") via type guards. The class (instance) "initialization code" looks just like the module initialization code. I find the syntax and semantics of this to be quite appealing. I had not used JPI Modula-2 for sometime and had forgotten how proficient the system is at reporting compilation errors and permitting you to step through them, edit (continue stepping without getting confused) and recompiling. Zortech C++ v2.1 is pathetic by comparison. TPW stops after the first error (or is this settable?). cfront says things like "you have an error on or near ...", which I've always found humorous, but not extremely helpful. The smartlinking capability is also a great marketting hype (in addition to be a truly valuable technology). Shrinking virtual method tables appears to be a gain. Is the linker smart enough to convert virtual methods to static methods if no descendent class overrides/redefines them? I think Eiffel's application builder does this. My only gripe so far: I've noticed many typographical errors in the documentation. I would have thought a guick review of galley proofs (or whatever) would have caught most of these. Such errors are especially disturbing in coding examples. All in all, I'm pleased. There is a heck of lot here. I just wish the docs were on par with the product. --Larry