CodeWarrior is an
integrated development environment
An integrated development environment (IDE) is a software application that provides comprehensive facilities to computer programmers for software development. An IDE normally consists of at least a source code editor, build automation tools a ...
(IDE) published by
NXP Semiconductors
NXP Semiconductors N.V. (NXP) is a Dutch semiconductor designer and manufacturer with headquarters in Eindhoven, Netherlands. The company employs approximately 31,000 people in more than 30 countries. NXP reported revenue of $11.06 billion in 2 ...
for editing, compiling, and debugging software for several
microcontroller
A microcontroller (MCU for ''microcontroller unit'', often also MC, UC, or μC) is a small computer on a single VLSI integrated circuit (IC) chip. A microcontroller contains one or more CPUs ( processor cores) along with memory and programma ...
s and
microprocessor
A microprocessor is a computer processor where the data processing logic and control is included on a single integrated circuit, or a small number of integrated circuits. The microprocessor contains the arithmetic, logic, and control circu ...
s (
Freescale ColdFire, ColdFire+, Kinetis,
Qorivva
Qorivva is a line of Power ISA, Power ISA 2.03-based microcontrollers from Freescale built around one or more PowerPC e200 cores. Within this line are a number of products specifically targeted for functional safety applications. The hardware-bas ...
, PX,
Freescale RS08 RS08 is a family of 8-bit microcontrollers by NXP Semiconductors. Originally released by Freescale in 2006, the RS08 architecture is a reduced-resource version of the Freescale MC68HCS08 central processing unit (CPU), a member of the 6800 micro ...
,
Freescale S08 The 9S08 (68HCS08 or S08 for short) is a 8-bit microcontroller (µC) family originally produced by Motorola, later by Freescale Semiconductor, and currently by NXP, descended from the Motorola 6800 microprocessor. It is a CISC microcontroller. ...
, and S12Z) and
digital signal controllers (DSC MC56F80X and MC5680XX) used in
embedded system
An embedded system is a computer system—a combination of a computer processor, computer memory, and input/output peripheral devices—that has a dedicated function within a larger mechanical or electronic system. It is ''embedded'' ...
s.
The system was developed by
Metrowerks on the
Macintosh
The Mac (known as Macintosh until 1999) is a family of personal computers designed and marketed by Apple Inc. Macs are known for their ease of use and minimalist designs, and are popular among students, creative professionals, and software en ...
, and was among the first development systems on that platform to cleanly support both the existing
Motorola 68k and the new
PowerPC
PowerPC (with the backronym Performance Optimization With Enhanced RISC – Performance Computing, sometimes abbreviated as PPC) is a reduced instruction set computer (RISC) instruction set architecture (ISA) created by the 1991 Apple– IBM ...
(PPC). During Apple's transition to the PPC, CodeWarrior quickly became the ''de facto'' standard development system for the Mac, rapidly displacing
Symantec Symantec may refer to:
*An American consumer software company now known as Gen Digital Inc.
*A brand of enterprise security software purchased by Broadcom Inc.
Broadcom Inc. is an American designer, developer, manufacturer and global supplier ...
's
THINK C and Apple's own
Macintosh Programmer's Workshop. The purchase of
NeXT
Next may refer to:
Arts and entertainment Film
* ''Next'' (1990 film), an animated short about William Shakespeare
* ''Next'' (2007 film), a sci-fi film starring Nicolas Cage
* '' Next: A Primer on Urban Painting'', a 2005 documentary film
Lit ...
in 1996 led to a decline in CodeWarrior's relevance as Mac programming moved to the NeXT platform's own developer tools.
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 console
A video game console is an electronic device that outputs a video signal or image to display a video game that can be played with a game controller. These may be home consoles, which are generally placed in a permanent location connected to a ...
s. The product moved to
Freescale Semiconductor
Freescale Semiconductor, Inc. was an American semiconductor manufacturer. It was created by the divestiture of the Semiconductor Products Sector of Motorola in 2004. Freescale focused their integrated circuit products on the automotive, embe ...
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
An eclipse is an astronomical event that occurs when an astronomical object or spacecraft is temporarily obscured, by passing into the shadow of another body or by having another body pass between it and the viewer. This alignment of three ce ...
IDE. The current versions are 6.3 of the Classic IDE, and 11.0 for the Eclipse IDE. Languages supported are
C,
C++, and
assembly language.
Old versions
Prior to the acquisition of the product by Freescale, versions existed targeting
Macintosh
The Mac (known as Macintosh until 1999) is a family of personal computers designed and marketed by Apple Inc. Macs are known for their ease of use and minimalist designs, and are popular among students, creative professionals, and software en ...
,
Microsoft Windows,
Linux
Linux ( or ) is a family of open-source Unix-like operating systems based on the Linux kernel, an operating system kernel first released on September 17, 1991, by Linus Torvalds. Linux is typically packaged as a Linux distribution, which i ...
,
Solaris,
PlayStation
is a video gaming brand that consists of five home video game consoles, two handhelds, a media center, and a smartphone, as well as an online service and multiple magazines. The brand is produced by Sony Interactive Entertainment, a di ...
,
PlayStation 2,
GameCube
The is a home video game console developed and released by Nintendo in Japan on September 14, 2001, in North America on November 18, 2001, and in PAL territories in 2002. It is the successor to the Nintendo 64 (1996), and predecessor of the W ...
,
Nintendo DS,
Wii,
Dreamcast
The is a home video game console released by Sega on November 27, 1998, in Japan; September 9, 1999, in North America; and October 14, 1999, in Europe. It was the first sixth-generation video game console, preceding Sony's PlayStation 2, N ...
,
SuperH
SuperH (or SH) is a 32-bit reduced instruction set computing (RISC) instruction set architecture (ISA) developed by Hitachi and currently produced by Renesas. It is implemented by microcontrollers and microprocessors for embedded systems.
At t ...
,
M·CORE M·CORE is a low-power, RISC-based microcontroller architecture developed by Motorola (subsequently Freescale, now part of NXP), intended for use in embedded systems. Introduced in late 1997, the architecture combines a 32-bit internal data path wit ...
,
Palm OS
Palm OS (also known as Garnet OS) was a mobile operating system initially developed by Palm, Inc., for personal digital assistants (PDAs) in 1996. Palm OS was designed for ease of use with a touchscreen-based graphical user interface. It is provi ...
,
Symbian OS
Symbian is a discontinued mobile operating system (OS) and computing platform designed for smartphones. It was originally developed as a proprietary software OS for personal digital assistants in 1998 by the Symbian Ltd. consortium. Symbian O ...
, and
BeOS
BeOS is an operating system for personal computers first developed by Be Inc. in 1990. It was first written to run on BeBox hardware.
BeOS was positioned as a multimedia platform that could be used by a substantial population of desktop users a ...
.
Metrowerks versions of CodeWarrior also included
Pascal,
Object Pascal
Object Pascal is an extension to the programming language Pascal that provides object-oriented programming (OOP) features such as classes and methods.
The language was originally developed by Apple Computer as ''Clascal'' for the Lisa Work ...
,
Objective-C
Objective-C is a general-purpose, object-oriented programming language that adds Smalltalk-style messaging to the C programming language. Originally developed by Brad Cox and Tom Love in the early 1980s, it was selected by NeXT for its N ...
, and
Java
Java (; id, Jawa, ; jv, ꦗꦮ; su, ) is one of the Greater Sunda Islands in Indonesia. It is bordered by the Indian Ocean to the south and the Java Sea to the north. With a population of 151.6 million people, Java is the world's mo ...
compilers.
Older versions of CodeWarrior can be used to develop on classic Mac OS.
Classilla is built with Metrowerks CodeWarrior 7.1.
History
CodeWarrior was originally developed by Metrowerks based on a C compiler and environment for the Motorola
68K
The Motorola 68000 series (also known as 680x0, m68000, m68k, or 68k) is a family of 32-bit complex instruction set computer (CISC) microprocessors. During the 1980s and early 1990s, they were popular in personal computers and workstations and w ...
, developed by Andreas Hommel and acquired by Metrowerks. The first versions of CodeWarrior targeted the
PowerPC
PowerPC (with the backronym Performance Optimization With Enhanced RISC – Performance Computing, sometimes abbreviated as PPC) is a reduced instruction set computer (RISC) instruction set architecture (ISA) created by the 1991 Apple– IBM ...
Macintosh
The Mac (known as Macintosh until 1999) is a family of personal computers designed and marketed by Apple Inc. Macs are known for their ease of use and minimalist designs, and are popular among students, creative professionals, and software en ...
, 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
An apple is an edible fruit produced by an apple tree (''Malus domestica''). Apple trees are cultivated worldwide and are the most widely grown species in the genus '' Malus''. The tree originated in Central Asia, where its wild ances ...
.
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 Symantec may refer to:
*An American consumer software company now known as Gen Digital Inc.
*A brand of enterprise security software purchased by Broadcom Inc.
Broadcom Inc. is an American designer, developer, manufacturer and global supplier ...
C++) was mostly incomplete or late to the market.
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.
Metrowerks took the approach to add Java tools support in CodeWarrior, including debugging, rather than write a new IDE.
In August 1996, Metrowerks announced CodeWarrior for BeBox,
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
Motorola, Inc. () was an American multinational telecommunications company based in Schaumburg, Illinois, United States. After having lost $4.3 billion from 2007 to 2009, the company split into two independent public companies, 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. In addition, Apple's switch to
Intel
Intel Corporation is an American multinational corporation and technology company headquartered in Santa Clara, California, Santa Clara, California. It is the world's largest semiconductor chip manufacturer by revenue, and is one of the devel ...
chips left Metrowerks without an obvious product as they had sold their Intel compiler technology to
Nokia
Nokia Corporation (natively Nokia Oyj, referred to as Nokia) is a Finnish multinational telecommunications, information technology, and consumer electronics corporation, established in 1865. Nokia's main headquarters are in Espoo, Finlan ...
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
''The New York Times'' (''the Times'', ''NYT'', or the Gray Lady) is a daily newspaper based in New York City with a worldwide readership reported in 2020 to comprise a declining 840,000 paid print subscribers, and a growing 6 million paid ...
''.
Origin of the name
During the 1990s,
Apple Computer
Apple Inc. is an American multinational technology company headquartered in Cupertino, California, United States. Apple is the largest technology company by revenue (totaling in 2021) and, as of June 2022, is the world's biggest company ...
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
''The Exorcist'' is a 1973 American supernatural horror film directed by William Friedkin and written for the screen by William Peter Blatty, based on his 1971 novel of the same name. It stars Ellen Burstyn, Max von Sydow, Lee J. Cobb, Kitt ...
''), "Lord of the Files" (''
Lord of the Flies
''Lord of the Flies'' is a 1954 novel by the Nobel Prize-winning British author William Golding. The plot concerns a group of British boys who are stranded on an uninhabited island and their disastrous attempts to govern themselves. Themes ...
''), "Gorillas in the Disc" (''
Gorillas in the Mist
''Gorillas in the Mist'' is a 1988 American drama film directed by Michael Apted and starring Sigourney Weaver as the naturalist Dian Fossey. It tells the story of her work in Rwanda with mountain gorillas and was nominated for five Academy A ...
''), etc.
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
macOS (; previously OS X and originally Mac OS X) is a Unix operating system developed and marketed by Apple Inc. since 2001. It is the primary operating system for Apple's Mac (computer), Mac computers. Within the market of ...
software to Apple's future operating system, codenamed
Rhapsody.
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
NeXT Computer (also called the NeXT Computer System) is a workstation computer that was developed, marketed, and sold by NeXT Inc. It was introduced in October 1988 as the company's first and flagship product, at a price of , aimed at the hig ...
and other UNIX systems.
Latitude presented itself as a library that implemented the Macintosh
System 7
System 7, codenamed "Big Bang", and also known as Mac OS 7, is a graphical user interface-based operating system for Macintosh computers and is part of the classic Mac OS series of operating systems. It was introduced on May 13, 1991, by Apple Co ...
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
Adobe ( ; ) is a building material made from earth and organic materials. is Spanish for '' mudbrick''. In some English-speaking regions of Spanish heritage, such as the Southwestern United States, the term is used to refer to any kind of ...
to port
Photoshop
Adobe Photoshop is a raster graphics editor developed and published by Adobe Inc. for Windows and macOS. It was originally created in 1988 by Thomas and John Knoll. Since then, the software has become the industry standard not only in ras ...
and
Premiere
A première, also spelled premiere, is the debut (first public presentation) of a play, film, dance, or musical composition.
A work will often have many premières: a world première (the first time it is shown anywhere in the world), its f ...
to
Silicon Graphics
Silicon Graphics, Inc. (stylized as SiliconGraphics before 1999, later rebranded SGI, historically known as Silicon Graphics Computer Systems or SGCS) was an American high-performance computing manufacturer, producing computer hardware and soft ...
and
Solaris workstations.
Metrowerks rebranded Latitude as CodeWarrior Latitude, 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.
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.
At the time, Steve Jobs was heavily promoting the
OPENSTEP
OpenStep is a defunct object-oriented application programming interface (API) specification for a legacy object-oriented operating system, with the basic goal of offering a NeXTSTEP-like environment on non-NeXTSTEP operating systems. OpenStep wa ...
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
Objective-C is a general-purpose, object-oriented programming language that adds Smalltalk-style messaging to the C programming language. Originally developed by Brad Cox and Tom Love in the early 1980s, it was selected by NeXT for its N ...
based. Latitude was for a short time coined as the "Green Box" 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.
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
External links
{{BeOS
C (programming language) compilers
C++ compilers
Integrated development environments
Classic Mac OS software
Classic Mac OS text editors
Classic Mac OS programming tools