CodeWarrior
CodeWarrior is an integrated development environment (IDE) published by NXP Semiconductors for editing, compiling, and debugging software for several microcontrollers and microprocessors (Freescale ColdFire, ColdFire+, Kinetis, Qorivva, PX, Freescale RS08, Freescale S08, and S12Z) and digital signal controllers (DSC MC56F80X and MC5680XX) used in embedded systems.
Developer(s) | Metrowerks |
---|---|
Initial release | December 23, 1993 |
Operating system | Classic Mac OS, Mac OS X, BeOS, Windows, Linux, Solaris |
Type | Software development tool |
License | Proprietary |
Website | www |
The system was developed by Metrowerks on the Macintosh, and was among the first development systems on that platform to cleanly support both the existing Motorola 68k and the PowerPC (PPC) instruction set architectures. During Apple's transition to PowerPC, CodeWarrior quickly became the de facto standard development system for the Mac, rapidly displacing Symantec's THINK C and Apple's own Macintosh Programmer's Workshop. Apple's purchase of NeXT in 1996 led to a decline in CodeWarrior's relevance as Mac programming moved to the NeXT platform's own developer tools: Interface Builder and Project Builder.
Metrowerks responded by porting CodeWarrior to Microsoft Windows and introducing compilers for a wider variety of platforms. It became a major part of the software stack for Motorola's varied lines of microcontrollers, and eventually led to them purchasing Metrowerks in 1999. It was widely used on most platforms based on PPC or other Motorola processors, as well as many games consoles. The product moved to Freescale Semiconductor when that company formed in 2004, and then to NXP when they purchased Freescale in 2015.
Originally a single integrated product, now known as the "Classic IDE", the IDE was later replaced with Eclipse IDE. The current versions are 6.3 of the Classic IDE,[1] and 11.0 for the Eclipse IDE.[2] Languages supported are C, C++, and assembly language.
Old versions
Prior to the acquisition of the product by Freescale, versions existed targeting Macintosh, Microsoft Windows, Linux, Solaris, PlayStation, PlayStation 2, GameCube, Nintendo DS, Wii,[3] Dreamcast, SuperH, M·CORE, Palm OS,[4] Symbian OS, and BeOS.[5]
Metrowerks versions of CodeWarrior also included Pascal, Object Pascal, Objective-C, and Java compilers.
Older versions of CodeWarrior can be used to develop on classic Mac OS. Classilla is built with Metrowerks CodeWarrior 7.1.[6]
Release name | Editions | Release date | Notes[7] |
---|---|---|---|
CodeWarrior DR/1 | Gold, Silver, Bronze | 1993-12-23 | Bronze supports 68k, Silver supports PPC, Gold supports 68k and PPC |
CodeWarrior DR/2 | Gold, Silver, Bronze | 1994-03-11 | |
CodeWarrior DR/3 | Gold, Silver, Bronze | 1994-05-05 | |
CodeWarrior 4 | Gold, Silver, Bronze | 1994-06-26 | |
CodeWarrior 5 | Gold, Bronze | 1994-12-15 | |
CodeWarrior 6 | Gold, Bronze | 1995-05-03 | |
CodeWarrior 7 | Gold, Bronze | 1995-09-05 | |
CodeWarrior 8 | Gold, Bronze | 1996-01-04 | |
CodeWarrior 9 | Gold | 1996-05-11 | |
CodeWarrior 10 | Gold | 1996-09-09 | |
CodeWarrior 11 | Gold | 1996-12-31 | |
CodeWarrior Pro 1 | 1997-06-04 | Mac and Windows bundled | |
CodeWarrior Pro 2 | 1997-10-23 | First version to target Mach-O and Yellow Box on Rhapsody with support for Objective-C[8] | |
CodeWarrior Pro 3 | 1998-04-07 | ||
CodeWarrior Pro 4 | 1998-09-10 | Last to include Pascal[9]
Last to run on 68k[10] | |
CodeWarrior Pro 5 | Mac, Windows | 1999-06-18 | |
CodeWarrior Pro 6 | Mac, Windows | 2000-09-09 | Last to support 68k compiling[9][11] Pre-release support of Mach-O, and use Aqua user interface on Mac OS X.[12] |
CodeWarrior Pro 7 | Mac, Windows | 2001 | First to run natively in Mac OS X and target Mach-O by default[11] |
CodeWarrior Pro 8 | Mac, Windows | 2002 | Last to run on Classic Mac OS |
CodeWarrior 9 | Mac | 2003 | |
CodeWarrior 10 | Windows | 2004 |
History
CodeWarrior was originally developed by Metrowerks based on a C compiler and environment for the Motorola 68K, developed by Andreas Hommel and acquired by Metrowerks. The first versions of CodeWarrior targeted the PowerPC Macintosh, with much of the development done by a group from the original THINK C team. Much like THINK C, which was known for its fast compile times, CodeWarrior was faster than Macintosh Programmer's Workshop (MPW), the development tools written by Apple.
CodeWarrior was a key factor in the success of Apple's transition of its machine architecture from 68K processors to PowerPC because it provided a complete, solid PowerPC compiler when the competition (Apple's MPW tools and Symantec C++) was mostly incomplete or late to the market.[13] Metrowerks also made it easy to generate fat binaries, which included both 68K and PowerPC code.
Java support in CodeWarrior for Macintosh was announced for May 1996, slated for CodeWarrior 9.[14] Metrowerks took the approach to add Java tools support in CodeWarrior, including debugging, rather than write a new IDE.[15]
In August 1996, Metrowerks announced CodeWarrior for BeBox,[5] a BeOS version of the IDE named BeIDE supplementing the PowerPC compiler that was already available to BeOS software developers.
After Metrowerks was acquired by Motorola in 1999, the company concentrated on embedded applications, devoting a smaller fraction of their efforts to compilers for desktop computers. On 29 July 2005, they announced that CodeWarrior for Mac would be discontinued after the next release, CodeWarrior Pro 10. Metrowerks indicated that revenue share of the product fell from 22% to 5% in the last four years and the effort by the company to concentrate on the embedded development market. The demand for CodeWarrior had presumably fallen during the time Apple began distributing Xcode (its own software development kit for OS X) for free.[16] In addition, Apple's switch to Intel chips left Metrowerks without an obvious product as they had sold their Intel compiler technology to Nokia earlier in 2005.
During its heyday, the product was known for its rapid release cycle, with multiple revisions every year, and for its quirky advertising campaign. Their "geekware" shirts were featured in the fashion pages of The New York Times.[17]
Origin of the name
During the 1990s, Apple Computer released a monthly series of developer CD-ROMs containing resources for programming the Macintosh. These CDs were, in the early days, whimsically titled using punning references to various movies but with a coding twist; for example, "The Hexorcist" (The Exorcist), "Lord of the Files" (Lord of the Flies), "Gorillas in the Disc" (Gorillas in the Mist), etc.[18]
One of these, volume 9, was titled "Code Warrior", referring to the movie The Road Warrior. Later Apple dropped the whimsical titling in favor of a more sober "Developer CD series". Coincidentally the Metrowerks founder, Greg Galanos, an Australian, was also inspired by the movie and proposed the CodeWarrior name. Metrowerks subsequently used the name for their new developer product.
CodeWarrior CD packaging was very much in the tradition of the Apple developer CDs, featuring slogans such as "Blood, Sweat, and Code" and "Veni, Vidi, Codi" in prominent lettering. Competing products such as Symantec's THINK C were more conventionally marketed.
CodeWarrior Latitude
Metrowerks foresaw as it had with the transition to PowerPC, a need to provide a must have developer tool to help developers transition from MacOS software to Apple's future operating system, codenamed Rhapsody.[19]
In 1997, Metrowerks acquired the principal assets of The Latitude Group Inc. from David Hempling and his partners. Latitude was a software compatibility layer used to port Macintosh applications to the NeXT Computer and other UNIX systems.[20]
Latitude presented itself as a library that implemented the Macintosh System 7 API in the same way that Lee Lorenzen's Altura Mac2Win software as well as Apple's own Quicktime for Windows SDK allowed Macintosh applications to be recompiled for Windows with minimal modifications. Latitude had previously been used successfully by Adobe to port Photoshop and Premiere to Silicon Graphics and Solaris workstations.[21]
Metrowerks rebranded Latitude as CodeWarrior Latitude,[22] updated it for Rhapsody starting with Developer Preview 1 and then marketed it to Macintosh developers as a separate product for $399, alongside CodeWarrior Professional.[23][24]
Latitude Developer Release 1 (DR1) was previewed at WWDC 1997 in the CodeWarrior Lounge. Latitude DR2 was released on Oct 27, 1997 and won an Eddy Award at the 1998 Macworld for Best Tool for New Technologies beating out Joy from AAA+ Software F&E and Visual Cafe for Macintosh 1.0.2 by Symantec.[25]
At the time, Steve Jobs was heavily promoting the OPENSTEP API (renamed Yellow Box) in order to access the new features of the operating system. For C/C++/Pascal Macintosh developers, this presented a substantial hurdle because it was markedly different from the classic MacOS API that ran inside Blue Box and was Objective-C based. Latitude was for a short time coined as the "Green Box"[26] for obvious reasons and appeared to be another hit for Metrowerks and further solidify its dominance in the Macintosh developer tools market but Apple secretly had plans of its own.
CodeWarrior's IDE for Rhapsody and CodeWarrior Latitude were both demonstrated at Worldwide Developers Conference in 1998 in the third party developer pavilion but were quietly discontinued at the show following Steve Jobs keynote address. Apple's announcement of its forthcoming Carbon API (codenamed "Ivory Tower") to appeal to developers who required a practical way to transition to the new operating system eliminated the need for any third-party solutions.[27]
Metrowerks used Latitude internally to port CodeWarrior to run on Red Hat and SuSE Linux for commercial sale and additionally to Solaris under contract from Sun Microsystems. Both products utilized gcc command line compilers rather than Metrowerks own compiler technologies to promote adoption within the UNIX developer community.
The final version of Latitude supported Solaris 2.3, SGI Irix 5.2 and Rhapsody DP2, dropping HP-UX support.
References
- "CodeWarrior for Microcontrollers (Classic IDE)". NXP Semiconductors.
- "CodeWarrior for Microcontrollers (Eclipse IDE)". NXP Semiconductors.
- Carless, Simon (2006-05-09). "CodeWarrior Named Official Toolset For Nintendo Wii". Gamasutra. Retrieved 2015-05-28.
- Mark, Dave; Cloninger, Eric (March 1998). "CodeWarrior for PalmPilot". MacTech. Vol. 14, no. 3. pp. 49–52.
- "Pipeline". InfoWorld. Vol. 18, no. 33. 12 August 1996. p. 35.
- "Classilla: HowToBuild". Retrieved 2015-05-28.
- "CodeWarrior Version History". Google Groups. Retrieved 2018-06-15.
- Mark, Dave (October 1997). "A CodeWarrior Rhapsody Update: Part One". MacTech. Vol. 13, no. 10. pp. 37–40. Archived from the original on 19 February 2022. Retrieved 19 February 2022.
{{cite magazine}}
: CS1 maint: bot: original URL status unknown (link) - Atwell, Richard (July 2000). "Arnold goes to WWDC". MacTech. Vol. 16, no. 6. pp. 110–111. Archived from the original on 19 February 2022. Retrieved 19 February 2022.
{{cite magazine}}
: CS1 maint: bot: original URL status unknown (link) - Cook, David. "Metrowerks CodeWarrior Best Version and Updates". 68KMLA. Retrieved 9 October 2022.
- Atwell, Richard (June 2001). "The Road from Rhapsody". MacTech. Vol. 17, no. 6. pp. 20–32. Archived from the original on 19 February 2022. Retrieved 19 February 2022.
{{cite magazine}}
: CS1 maint: bot: original URL status unknown (link) - Hayden, Joe; Henderson, Matt (May 2000). "CodeWarrior for Mac OS X". MacTech. Vol. 16, no. 5. pp. 64–65. Archived from the original on 19 February 2022. Retrieved 19 February 2022.
{{cite magazine}}
: CS1 maint: bot: original URL status unknown (link) - Seiter, Charles (July 1995). "A crucial compiler ships". Macworld. Vol. 12, no. 7. p. 41.
- Kawakami, John (January 1996). "Yet Another Platform for CodeWarrior: Java". MacTech. Vol. 12, no. 1. p. 98.
- Sheets, Steve (May 1998). "Java Development Environments". MacTech. Vol. 14, no. 5. p. 20.
- Handy, Alex (15 August 2005). "Metrowerks plans to ax CodeWarrior for Macintosh". SD Times. No. 132. p. 1.
- "FRONTIERS OF MARKETING; Selling Geek Chic". The New York Times. 1995-02-12. Retrieved 2015-05-28.
- Every, David K. (1999). "Apple Developer CD Codenames: Puns, fun, and satire". MacKiDo. Retrieved 2015-05-28.
- Mark, Dave (May 1997). "Greg Galanos and the Mac Developer's Roadmap". MacTech. Vol. 13, no. 5.
- Mark, Dave (June 1997). "David Hempling and the Latitude Porting Libraries". MacTech. Vol. 13, no. 6.
- Mark, Dave (December 1997). "Sean Parent: The Photoshop Development Process". MacTech. Vol. 13, no. 12. pp. 42–44.
- "[MD1] Metrowerks Acquires Latitude". MacTech. 27 January 1997. Retrieved 25 August 2021.
- "Developer Depot". MacTech (Advertisement). January 1998. p. 2.
- Mark, Dave (January 1998). "CodeWarrior Latitude: Porting Your Apps to Rhapsody". MacTech. Vol. 14, no. 1.
- "Eddy Tool Awards Winners Announced". MacTech. 6 January 1998.
- "Metrowerks Green Box to plow Mac path to OpenStep APIs". InfoWorld. 25 April 1997.
- Walsh, Jeff (12 May 1997). "Apple to woo developers with Rhapsody tools". InfoWorld. Vol. 19, no. 19. p. 15.