Development under System 6
­ The Way it Was Back Then

- by Will Flor

In early 1991, Apple Computer introduced Macintosh System Software version 7, or "System 7" as it was known. This was the most revolutionary change in Macintosh system software until the introduction of OS X, and arguably even more so than that. The additional capabilities built into System 7 were essential to let the Mac OS compete successfully with Microsoft Windows 3, introduced at roughly the same time. Not all of the new features of System 7 really were improvements, of course. Macs took longer to boot and also needed more RAM to use these additional features. This was not a problem as far as Apple was concerned, of course, because they were (and still are) basically a computer hardware company and therefore are eager to sell you newer, more powerful Macintoshes to overcome these problems.
When I became a Macintosh programmer in 1988, my most recent programming experience had been on UNIX-based Silicon Graphics workstations, using a proprietary windows manager based on X10. Since the Macintosh and X10 programming environments are both event-driven, my moving to the Macintosh was relatively easy. Since my Silicon Graphics experience was mostly in the area of computational chemistry and molecular visualization (at Purdue University), it was fairly easy to move into the related area of finite-element analysis (FEA) software, which uses similar mathematical techniques to analyze engineering structures. Of course, doing this on desktop computers in the 80s was very advanced.
For this project, I had a brand-new Mac II, the most powerful Mac in history (at that time), with a super-powerful 16 MHz 68020, an amazing 8 MB of RAM and a sinfully-large 80 MB hard drive. I first started with a product called Lightspeed C, which had a very easy-to-use integrated development environment, but turned out to have hideously bad library support, so I moved on to Macintosh Programmer's Workshop (MPW), Apple's own development system. I think this was MPW 2.02, but I'm not really sure any more. MPW did just fine, and I was able to develop the FEA system, including the analyzer and visual modeler, under MPW with no problem. Later I moved to another company that was an early CAD vendor and was hoping to move into the Mac marketplace. I helped them "Macintoshize" their flagship product and then eventually moved onto other things. By this time MPW 3 was out, and I used that.
Back when System 6 was king, Apple mainly used Object Pascal as their high-level development language. This mutant version of Niklaus Wirth's well-known programming language was based on UCSD Pascal, which had been available on Apple hardware since the seventies (the first programming job I ever had, in 1979, was in UCSD Pascal, and ran on the Apple ][+). Exactly why this is the case is not well-known, as Pascal has never been a popular development language under any other circumstances. Apparently some high-level programmer at Apple simply liked Pascal, and they used it to develop software for the Lisa. Later Apple licensed a C compiler that became MPW C, and soon thereafter C overtook Pascal as the main Macintosh development language.
When Apple finally released System 7, it caused a huge outcry among developers, as many existing applications were incompatible with it. Ironically, Apple's own development system, MPW 3.1, was one of the applications that was incompatible with System 7. It took quite a while for MPW 3.2 to be readied and released, which allowed native System 7 development ­ until then, you had to develop under System 6 and then reboot or transfer the software to a machine running system 7 to be able to test your software. Adding insult to injury, Apple had emphasized making sure that your applications were "System-7-ready" at three consecutive World-Wide
Developer Conferences ('89, '90 and '91), but their own application missed the mark. Of course, at each of these conferences, they also promised that System 7 would be released "later this year". They got it right in 1991.

 

return to System 6 Development main page

return to System 6 Heaven start page