Macintosh Programmer's Workshop

Macintosh Programmer's Workshop (MPW) is a software development environment for the Classic Mac OS operating system, written by Apple Computer.

MPW provided a command line environment and tools, including 68k and PowerPC assemblers as well as Pascal, C and C++ compilers.

MPW supported a source-level debugger called SADE (Symbolic Application Debugging Environment).

[2][3] In addition, the original MPW C compiler was known for its casual and frequently humorous error messages ("we already did this function"),[4] as well as occasionally addressing users by name.

[5] These quirks were not carried on after the PowerPC transition, when Apple replaced the originals with compilers written by Symantec.

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 superseded by offerings from Symantec and Metrowerks, as well as Apple's own development tools inherited from NeXT and distributed for free with OS X.

Apple has officially discontinued further development of MPW and the last version of OS X to run it is 10.4 'Tiger', the last one to support the Classic environment.

This redirection of output required significant patching out of the file system calls so that tools need not do anything special to inherit this feature: the MPW Shell did all of the work.

These features were popular in commercial production environments, where complicated build and packaging processes were all controlled by elaborate scripts.

Unlike an xterm window, an MPW worksheet is always in visual editing mode and can be freely reorganized by its user.

The commercial BBEdit text editor retains a feature it calls "shell worksheets" on Mac OS X.

While this was good enough most of the time, it precluded makefiles that could make on-the-fly decisions based on the results of a previous action.

For a number of years, the GNU toolchain included portability support for MPW as part of libiberty.

Early contributors included Rick Meyers (project lead and MPW Shell command interpreter), Jeff Parrish (MPW Shell editor), Dan Smith (MPW Shell commands), Ira Ruben (assembler and many of the tools including Backup, PasMat, and more), Fred Forsman (Make, Print, SADE, and assembler macro processor), Al Hoffman (Pascal compiler) Roger Lawrence (Pascal and C compilers, including the error messages), Ken Friedenbach (linker), Johan Strandberg (Rez, DeRez, RezDet), Steve Hartwell (C libraries), and Dan Allen (MacsBug, editor).

[12] MPW can still be used to develop for Mac OS X, but support is limited to Carbon applications for PowerPC-based computers.