Tools Plus
Volume Number: 12
Issue Number: 7
Column Tag: Programming Tools
Tools Plus 3.0 
Paradise for “control” freaks
By Rich Parker
Everyone Wants
to Program the Mac
Almost all Mac owners, at one point or another, harbor a desire to program their own
machine. Some may be well served by products like HyperCard, but others just can’t
wait to learn C, C++, or Pascal, so that they can write the next “killer” application.
If they start programming by buying books that illustrate programs that use the
standard ANSI libraries, they might make quite a bit of progress in learning the
language and writing routines that use a “console” interface. At some point, though,
the realization sinks in that these aren’t “real” Mac applications, and then the trouble
begins. The age-old question that I see over and over again on the online services is:
“How do I get started writing ‘real’ Mac programs?”
Most people are directed to read one of Dave Mark’s or Dan Sydow’s fine books on
the subject of Mac programming for their favorite language, but these books provide
only the basic information needed to write “real” Mac programs. At some point, the
(now quite distressed) user is directed to the almighty gospel of Inside Macintosh to
further his or her knowledge. This is the point at which most budding programmers
wimp out, and I don’t really blame them. I think you will agree that trying to learn to
program the Mac by reading Inside Macintosh is like learning to play the piano by
studying the details of music composition.
So What’s the Alternative?
I think it’s well known in the developer community that I favor the use of application
frameworks. Developing Mac applications using PowerPlant, TCL, or MacApp is
something that comes easily to me. But I also recognize the negative aspects of these
frameworks, and readily admit that they are not a solution for all people or all
applications.
In the first place, most application frameworks demand much more memory than
would be required if one had the time to read, understand, and apply all of the
appropriate built-in Mac toolbox routines to the problem. But the difficulty of
understanding the Mac toolbox is equaled only by the steep learning curve of most of
the current application frameworks. So we are left with an almost insoluble problem