The Macintosh world has needed this product for several years. The C++ language has been the emerging development standard on most other computer platforms, and while Apple’s MPW (Macintosh Programmer’s Workshop) version of CFront (a preprocessor that translates C++ code to C code for compilation) has been available, it’s sluggish compared with the speed demon Symantec has now produced. If you like Think C, and plenty of developers do, you’ll like C++ 6.0, too.
The $499 package includes Think C 6.0 as well as C++, the now-familiar Think Class Library, and Think Reference 2.0, but not the MPW version of the compiler. The MPW product can compile MacApp-based programs as an MPW tool — please note that C++ 6.0 in the Think environment is not MacApp-ready (or MacApp is not C++ 6.0-ready yet). This situation is part of the transition Symantec is attempting to make with Think C. C++ is intrinsically a large-project language, and MPW has traditionally been the large-project, large-team development environment for the Macintosh. Think C, in contrast, has been a favorite on smaller projects with individual programmers or very small teams. By combining a native-code Think C++ compiler (not a translator) with SourceServer, and opening the product to third-party editors, Symantec has groomed the Think development environment to be the eventual successor to MPW. Organizations with large investments in MPW code and training may not find C++ 6.0 sufficiently compelling to induce them to switch environments just yet, but there is a trend — an Apple-supported trend for both Macs and PowerPCs.
The Works
The Symantec C++ 6.0 language definition is essentially that described in The Annotated C++ Reference Manual (M. A. Ellis, B. Stoustrup; Addison-Wesley, 1990), the current ANSI standard. What it means is that C++ 6.0 is not a partial implementation — multiple inheritance, nested classes, and templates are all supported, with real practical benefits. Nested classes, for example, make it possible to design large programs with just hundreds instead of thousands of global names. Templates are also useftil for cleaning up code, since you can make a single class definition for a template and not maintain a separate class definition for each variable type. Multiple inheritance similarly lets you produce interesting new objects from a smaller original set of classes. If you have ever leafed through books on object-oriented programming and wondered exactly how this was making anyone’s development tasks easier, please be assured that Symantec C++ 6.0 at least provides the tools to develop projects with less code instead of more.
The integrated development environment was always a strong point in the Think languages, and this tradition has been extended. Think C’s Project Manager still offers fast and convenient compile/link cycles; but by integrating Apple’s SourceServer, C++ now also accommodates larger programming teams. SourceServer lets an administrator formulate a library of code pieces; SourceServer keeps an audit trail as programming-team members check out and modify parts of the program. C++’s Debugger has been updated for C++ (see “Digging for Data”). While it’s still not comparable to The Debugger & MacNosy ($350; Jasik Designs, 415/322- 1386), C++’s debugger is impressive for a bundled product. Recognizing that the Think editor has been adequate but not breathtaking, Symantec has opened C++ to accept other code editors, a move that will please devotees of ACI US’s Object Master ($395; 408/252-4444), a favorite among serious developers.
But the main environment extension is scripting. You can execute MPW scripts within the Think environment and use AppleScripts to modify the environment itself, and UserLand has been actively promoting Frontier scripting as a way to automate large-project chores (library building, file cleanup, and updating) through the project manager. An open scripting environment like Think’s becomes almost self-fixing; if there are aspects of the Project Manager or SourceServer you don’t like, you can script your way around them or script your own alternative versions. This approach isn't free (UserLand’s Frontier costs $249, and the AppleScript Developer’s Toolkit from APDA is $199), but either scripting solution will easily pay for itself on a large programming project.
Seiter, Charles. (November 1993). Symantec C++ for Macintosh 6.0. Macworld. (pg. 53).