November 93 - WAMADA Notes
WAMADA's August meeting followed Boston's
MacWorld and the introduction of the Newton. So
the natural topic was the Newton and its development environment. Our host, Dave Buell of Advanced Laser Graphics, gave us a tour of the Newton Tool kit. He also offered up his newly purchased MessagePad (in guest mode, of course) for the group's "experiments" in hand writing recognition. The Newton Tool kit presented a fairly familiar interface to those who have been working with MacApp and its various view editors. The biggest improvement (and most difficult to do, of course) would be the addition of an emulator which allowed you to try out your work without transferring it to the Newton. Maybe next year. In the meantime, we hope the idea of using objects and frameworks in development tools will diffuse across the corporate boundaries from PIE to whatever the Mac division is called these days.
And speaking of object development environments: the authors of SmallTalkAgents, Quasar Knowledge Systems, made use of the ALG training room during August to present three tutorials on SmallTalk to local developers, WAMADA members included. I expect our members will have similar opportunities in the future.
September and OOPSLA
The September WAMADA meeting was timed to coincide with the OOPSLA conference which took place this year at the Washington Hilton. Four speakers gave talks on a wide range of object technologies. Rock Howard of Tower Technologies started the meeting with an overview of Eiffel. He said that Tower would be moving an Eiffel compiler to the Mac. He did not know, however, whether it would be made to work with MPW or Think. Presumably the announced combination of MPW tools with the Think Project Manager makes this a moot point, but the lack of solid information from Apple on "how?" and "when?" are made evident by Tower's uncertainty. Existing compilers generate C code, but native compilers are on the way. Howard also announced that Tower, in an alliance with Rational, will develop Eiffel implementations of the Booch components.
Rational itself was represented by the next speaker, Doug Hill, who gave a talk on the basics of Grady Booch's design notation and discussed how Rational's tools give the programmer access to that notation. Rational Rose is the name of their CASE tool. The name "rose" arises from the view of the development cycle as a circular (iterative) series of steps, each step making up a petal on a circle. Their view of the development cycle begins with analysis, which leads to the creation of analysis classes. In the design stage these are combined with implementation classes. During development changes are invariably introduced into the analysis, which leads to a second iteration: cook until done. Rational Rose currently provides a GUI for the design notation. In the first quarter of next year version 2 will be introduced which will add a code generator (this on Unix and Windows boxes). Following that, Rational intends to complete the circle by providing a tool (Code Cycle) which will reverse engineer C++ back into design diagrams.
Our third speaker, Ole Madsen, of both Aarhus University and Mjølner Informatics in Norway, discussed the BETA language. In contrast to Rational's view of stepping from a design notation to C++ and then back again (reminiscent of the circular staircases in an Escher sketch), BETA is intended to provide a single language for analysis, design, and implementation. Ole sees modeling and design as the main benefits of object oriented languages, with reusability as a side effect. BETA helps simplify things by using a single abstraction mechanism for classes, procedures, functions, exceptions and processes. Rather than describe BETA here, I'll refer you to the just completed three part FrameWorks series on BETA by Steve Mann. It's worth a look, particularly if C++ is the only object oriented language you've used.
Our final speaker was Bo Klintberg who presented his OSL Scripting Components for MacApp. This product provides C++ source code for MacApp 3.0, three demos (with source), 300 pages of documentation, and 411 files, all in a package which provides your MacApp application with generic scripting capabilities. Sending, receiving, and recording are all supported. And you don't have to change the original MacApp source! Bo estimates that 95% of the core suite descriptors are provided, with support for the data base suite in the works. Once again, a detailed FrameWorks article (written by Bo) is available with all the details on how these components were designed and implemented.
While perusing the latest FrameWorks you may notice that, not coincidentally, many of these products may be purchased through MADA, usually at a worthwhile discount. The plans to expand the range of information and products available from MADA seem to be taking hold, and just in time to buffer the increasingly haphazard support for object technologies from Apple. One veteran participant of OOPSLA pointed out that Apple's previous effort to tout the use of object technologies was noticeably absent this year. On the one hand the alpha shipment of MacApp 3.1 is very welcome news; on the other hand it seems that Bedrock's support for Apple Events (something Apple keeps insisting is vital to their future) won't be much different than MacApp's. Perhaps Apple's internal development plans suffer from the same qualms as purchasers of their hardware: no one wants to invest in the current product because an even better one is just around the corner. MADA can help reduce the pressure to constantly move up to the latest version by providing continued support for those of us on the "trailing edge". At the same time, we are sure to get reports from the pioneers as they begin to explore new frameworks and languages. All in all, not a bad mix.
If you're in the D.C. area, and interested in object oriented programming, give WAMADA a visit. We meet the third Wednesday of every month, beginning around 7:15 p.m. For information on the next meeting, and directions, send a message to JEFFRIES.L on AppleLink, or call Leslie at (301) 340-5126 during business hours (EDT). If you leave her an e-mail address, she can place you on her mail list for WAMADA meeting announcements.