Please consider a donation to the Higher Intellect project. See https://preterhuman.net/donate.php or the Donate to Higher Intellect page for more info. |
Difference between revisions of "50 MPW Advantages"
(Created page with "<center>File:MPW.GIF <h2>Why MPW is an Important Tool for All Developers</h2> </center> <h3>BACKGROUND</h3> MPW is an open, configurable, and scriptable development env...") |
|||
(One intermediate revision by the same user not shown) | |||
Line 1: | Line 1: | ||
<center>[[File:MPW.GIF]] | <center>[[File:MPW.GIF]] | ||
− | < | + | <font size="+2">Why MPW is an Important Tool for All Developers</font> |
− | |||
</center> | </center> | ||
Line 103: | Line 102: | ||
* [[Apple Computer]] | * [[Apple Computer]] | ||
− | [[Category: | + | [[Category:Programming]] |
Latest revision as of 11:38, 13 November 2022
Why MPW is an Important Tool for All Developers
BACKGROUND
MPW is an open, configurable, and scriptable development environment which provides you with the flexibility you need to support the most complex Macintosh software development projects you can imagine. It is unique in that it combines the familiarity of a traditional command-line interface with the benefits of the modern Macintosh graphical user interface. MPW is a past winner of the MacUser magazine Eddy award for software excellence in the "Best New Programming Language for Programmer" category.
MPW can be used as a general-purpose C/C++ development environment since it includes an editor, assemblers and C/C++ compilers for generating MC680x0 and PowerPC code, and the necessary build support tools such as linkers and a resource compiler. But its appeal is much broader since it includes dozens of additional tools for performing a variety of file-related operations that would be difficult or awkward to do in any other way. As a result, many programmers invest in MPW even if they are also using other popular development environments such as Metrowerks CodeWarrior or Symantec C++ for Macintosh.
WORK ENVIRONMENT
1 | Unlike most other programming editors, the MPW editor lets you edit files of any size, not just those that will fit in available memory. |
2 | The MPW editor includes a customizable tool bar inside each window, making access to the bar handier than in systems where the bar doesn't move with the window. |
3 | Individual editing windows can be hidden (without being closed) to reduce screen clutter. |
4 | Unlike some other development environments, the MPW editor supports multiple levels of Undo. |
5 | Any command or sequence of commands can be entered manually from an editing window, executed from a text file, or triggered upon selection of a menu item. |
6 | "Commando" dialogs provide you with a helpful visual interface for specifying command parameters. |
7 | MPW commands support UNIX-style piping and filtering for data processing flexibility. |
8 | UNIX tools can be trivially ported to run in the MPW environment. Some examples of those that have been ported are awk, bison, yacc, lex, diff, flex, sed, perl, python, tags, and gcc. |
9 | Results of MPW commands can be redirected to any open window or to a new or existing file. |
10 | Commonly-used commands can be kept in the Worksheet window for rapid, convenient access. |
11 | All of the MPW key bindings can be customized to suit your preferences. For example, you could emulate the vi or emacs editor command keys. |
12 | You can easily assign your own names to any set of commands. |
13 | Windows can be set to auto-save their contents, eliminating the need to explicitly save. |
14 | You can print out highly-customized source listings which include headers, line numbers, borders, watermarks, and page breaks. |
15 | Text markers can be added by hand or programmatically by scripts and can be navigated using the marker browser. |
16 | MPW has a great animated about box! |
TOOLS
17 | MPW includes MrC, a highly-optimizing C/C++ PowerPC compiler you can use to squeeze extra performance out of your code. |
18 | The Rez resource compiler gives you the opportunity to define resource types textually, using comments and mnemonic constants to improve readability and maintainability. |
19 | Using the DeRez tool, you can generate source code for all resources, including those you may have created using a visual editor. |
20 | Tools are provided to perform a variety of useful housekeeping operations on resource forks, including corruption detection and equivalency tests. |
21 | Tools are provided for comparing two text files and providing a complete description of their differences. The CompareFiles script makes merging two versions of a source file very easy. |
22 | Tools are provided to simplify the sorting, merging, and purging of lists of information. |
23 | MPW has full-featured macro assemblers for both MC680x0 and PowerPC development. |
24 | The MPW linker can combine code written in C, C++, Assembler, and third-party compilers, such as Pascal and Fortran, that supports the standard Object Module Format. |
25 | For convenience, the output of many tools is in the form of executable statements. In the case of an error statement, you can execute it to go directly to the offending line of source code. |
26 | MPW has commands that let you manipulate invisible files. |
27 | The SetFile command lets you set the attributes of a file, including type, creator, creation date, modification date, icon location, etc. |
28 | The Choose command lets you programmatically mount and unmount servers. |
29 | The Backup command makes it easy to synchronize a working folder with a master backup folder. |
30 | The VersionList command lets you display version information for any file or set of files. |
31 | The SetVersion command lets you programmatically create or increment version number resources. |
32 | MPW has a variety of tools for examining post-compilation files, including 680x0 object files, XCOFF files, PEF containers, and SYM files. |
BUILD SYSTEM
33 | MPW supports the use of Make files, allowing fine-tuned control over the build process. |
34 | The Make system lets you apply different compiler options to different source file compilations. Most other development environments use the same set of options for all source files in a project. |
35 | "Starter" Make files can be quickly created with the CreateMake tool. |
36 | The Make system allows you to build multiple targets and "fat" binaries. This is not possible with some development environments. |
37 | Multiple builds can be chained together, thus allowing very complex build requests to be executed easily and without intervention. |
HELP SYSTEM
38 | MPW provides convenient hot-key access to the Macintosh Programmer's Assistant help databases. Simply highlight the name of a toolbox routine in the editor and press the hot key to display information about it. |
39 | MPW provides a hot key to return the template for the selected toolbox function. |
40 | MPW has comprehensive man-page help for its own commands. |
SCRIPTING SYSTEM
41 | MPW has an integrated scripting system you can use to perform operations of arbitrary complexity. |
42 | The MPW scripting language supports regular-expression pattern matching, making possible complex text manipulation operations. |
43 | The MPW scripting language allows the use of wildcard characters, making it easier to specify a group of files on which to operate. |
44 | You can easily extend the MPW scripting system by writing your own commands. |
45 | The MPW scripting system is fast. |
46 | MPW has the ability to launch any application and to control any AppleScript-aware application. |
47 | You can trigger MPW scripts remotely from other applications that are able to send AppleScript commands. |
PERFORMANCE ANALYSIS
48 | MPW comes with MrPlus, PPCProff, and 68K Perf, a rich set of performance measurement and analysis tools. |
TEAM DEVELOPMENT
49 | MPW comes with Projector, an integrated source code control system. You can also access third-party source code control systems from MPW, including Perforce, CVS, and SourceSafe. |
50 | A standalone version of Projector, called SourceServer, can be used with any development environment that is able to send Apple event commands to it. |
Summary
MPW is useful for everyone, even those using other development environments for day-to-day compile-debug-test cycles. You just can't beat its broad array of support tools and its automation capabilities.