September 93 - MADA at MacWorld
MADA at MacWorld
Russ Brenner
The MADA meeting had a small turnout of around forty people in the CityView Ballroom
at Boston's World Trade Center (apparently we were competing with a Newton
developer meeting). Those present were treated to a display of useful tools and
frameworks. The meeting time was kept to a little over two and a half hours in hopes
that the audience could remain awake from begining to end. QKS and Component
Software also raffled off free copies of their products.
C++ Products
Howard Rosenfield gave a short talk on the status of Bedrock and MacApp. Contrary to
popular rumor, Rosenfield said that Apple is still involved with Bedrock and has not
waivered in its support. Apple will additionally be providing an updated version of
MacApp (version 3.1) for compatibility with the PowerPC. The new version will be
pointer-based, thus introducing true C++ compliancy (no more HandleObjects). An
alpha version will be included on E.T.O. 12, with final shipment due by December.
Conversion utilities for upgrading from MacApp 3.0.1 will be provided with the final
version. According to Rosenfield, upgrading to MacApp 3.1 will be much easier than it
was from MacApp 2 to MacApp 3.
Dave Wilson, Emergent Behavior, presented an overview of QuickApp, a lean and mean
application framework designed to get the job done fast. It's not intended as a
feature-for-feature MacApp replacement, but rather as a tool to use when MacApp is
just too much. For instance, using only four instructions, you can create a simple PICT
viewer or a text editor.
Wilson showed a sample Calculator program that was recently published in
FrameWorks (July/August '93). One nice feature of QuickApp is that scroll bars come
along for free. Since most windows include the scrollers, why not make them the rule,
rather than the exception? Non-scrolling windows are, of course, available, if you
really want them.
Nancy Benovich, Component Software, displayed the latest version of their dynamic
development environment, Component Workshop (CW) 1.1. This new version includes
an Extruder to remove completed applications from their development environment.
Prior to this release, applications had to be executed within the CW environment.
Additionally, version 1.1 contains support for Mac toolbox calls, a much-requested
enhacement to version 1.0.
Benovich also announced a prerelease version of Vista, a stand-alone tool for creating
views and menus. The WYSIWYG interface includes a "Try It" feature for end-user
testing of the user interface before actually building the application.
Can we (Small)talk?
My first memories of Smalltalk are as a hot-air balloon on the cover of BYTE
magazine, circa 1980. It seemed to lie dormant for awhile, but now, in the nineties,
Smalltalk is seeing a resurgence, and with good reason.
David Simmons, Quasar Knowledge Systems, Inc. (QKS), demonstrated
SmalltalkAgents, a recently shipped superset of the Smalltalk language. The extensions
are patterned after C and LISP, and include support for Mac toolbox traps and callback
routines. Dynamic linking, pre-emptive interrupt driven threads and transparent
memory management also come along with the package.
It seems that SmalltalkAgents is up-to-date with just about every System 7.1 feature
that's available, and has prepared in advance for some features yet to come. For
instance, QKS uses a 24-bit international character set to support Unicode (used
currently on Newton) and WorldScript.
To demonstrate the power of this development environment, Simmons set up duplicate
background tasks, each in its own window, to compute the value of 500 factorial. After
starting both tasks, he showed that he could still edit code in another window without
noticable delay. A short time later, one, and then the other, of the background windows
spat out the answer to their problem, down to the last digit. No exponentials here, this
was the real McCoy!
As noted by Steve Mann (FrameWorks, Jan/Feb 1993), the benefits of dynamic
language environments, such as Smalltalk-Agents and Component Workshop, far
outweigh the disadvantages, and are in good position to become the development tools of
the future.
Bachrach Does Dylan
One of the events that caught everyone's attention was the presentation of the first
public domain Dylan compiler. Dylan (short for "Dynamic Language") is a new
object-oriented language being developed at Apple's Cambridge R&D group (ATG East as
it's affectionately known).
Jonathan Bachrach, IRCAM/Harlequin, was given the task of designing a digital
production studio for musicians. Since expense was not a primary concern, the IRCAM
workstation was built around a high-end NeXT cube with a sticker price of $55,000.
With the hardware in line, the next step was to produce the software. Since none of the
existing programming languages seemed suited to his task, Jonathan chose the next
logical path: he wrote his own.
To be more precise, he looked at Dylan, saw that it was good, and decided that since no
one had written a compiler yet, he'd just have to do it himself.
Bachrach started the project less than one year ago when he moved to his new job in
France. After digesting the Dylan manual (available free of charge from Apple by
sending a request to dylan-manual-request@cambridge.apple.com [also
manual-req@cambridge.apple.com]), learning French, and changing his hair from
neon green to neon red, he built the first implementation as a set of macros for the
Python LISP compiler. In the following months, the elements of his macro set were
transformed from macros into LISP, and later into Dylan itself.
This version of Dylan runs on Unix workstations, and Bachrach stated that, rather
than porting his work to the Macintosh, he wants to actually use his compiler for its
original purpose, musical production. This creates an opportunity for any developer
interested in creating a public domain version of Dylan for the Mac. If the thought
intrigues you, contact MADA for further details (dying your hair is not required).