- See also Multi-Project Wafers.
Macintosh Programmer's Workshop or MPW, is a software development environment for the Classic Mac OS, written by Apple Computer. For Macintosh developers, it was one of the primary tools for building applications for System 7.x and Mac OS 8.x and 9.x. Initially, MPW was sold as a commercial product but Apple eventually made it a free download. MPW can still be used to develop Mac OS X applications but only as a Carbon build for PowerPC. To develop Mac OS X applications based on other technologies, one must use either Xcode or CodeWarrior. MPW also included a version control system called Projector; this has been superceded by CVS and is no longer supported in Mac OS X.
MPW provided a command line environment which included Pascal, C and C++ compilers. The shell environment is somewhat similar to Unix shells in design, but is designed around the Macintosh's character set and GUI, replacing the usual terminal environment with a "worksheet" interface, allowing the user to select and run arbitrary sections of a shell script or to redo commands with no retyping. In addition, command line tools were commonly provided with a somewhat standardized graphical interface called Commando that provided limited access to the command line capabilities of the program. The debuggers were not integrated into MPW like most IDEs of today but the language compilers supported the symbolic debugging information file format used by the debugger. MPW supported a source-level debugger called SADE (Symbolic Application Debugging Environment). SADE was not an MPW Tool, but ran as a separate application with a user interface similar to MPW.
Apple's compilers had some features that were not common on other platforms—for example, the Pascal compiler was object-oriented, while the C and C++ compilers included support for Pascal strings (needed for the MacOS's Pascal-oriented API). In addition, the original MPW C compiler (long since obsolete and no longer available) was known for its casual and frequently humorous error messages, a quirk not carried on by later compilers developed by Symantec (Sc/Scpp, for 68K development) and IBM (MrC/MrCpp, for PowerPC development). Pascal support was no longer provided by the mid-90s due to declining popularity of the language.
MPW was always targeted to a professional audience and was seldom used by hobbyist developers due to the considerable price for the package; by the time it was made freeware it had long since been superceded by offerings from Symantec and Metrowerks, as well as Apple's own development tools inherited from NeXT and distributed for free with OS X. It was also occasionally available as a wrapper environment for third-party compilers, a practice used by both Metrowerks and Absoft among others. Apple has officially discontinued further development of MPW (it has difficulties running on recent versions of MacOS and requires the Classic environment on OS X) but does maintain a web site for the software.