CodeWarrior is an
integrated development environment
An integrated development environment (IDE) is a Application software, software application that provides comprehensive facilities for software development. An IDE normally consists of at least a source-code editor, build automation tools, an ...
(IDE) published by
NXP Semiconductors
NXP Semiconductors N.V. is a Dutch semiconductor manufacturing and design company with headquarters in Eindhoven, Netherlands. It is the third largest European semiconductor company by market capitalization as of 2024. The company employs approx ...
for editing, compiling, and debugging software for several
microcontroller
A microcontroller (MC, uC, or μC) or microcontroller unit (MCU) is a small computer on a single integrated circuit. A microcontroller contains one or more CPUs (processor cores) along with memory and programmable input/output peripherals. Pro ...
s and
microprocessor
A microprocessor is a computer processor (computing), processor for which the data processing logic and control is included on a single integrated circuit (IC), or a small number of ICs. The microprocessor contains the arithmetic, logic, a ...
s (
Freescale ColdFire
The NXP ColdFire is a microprocessor that derives from the Motorola 68000 family architecture, manufactured for embedded systems development by NXP Semiconductors. It was formerly manufactured by Freescale Semiconductor (formerly the semiconducto ...
, ColdFire+, Kinetis,
Qorivva, PX,
Freescale RS08,
Freescale S08 The 9S08 (68HCS08 or S08 for short) is an 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 controller
A digital signal controller (DSC) is a hybrid of microcontrollers and digital signal processors (DSPs). Like microcontrollers, DSCs have fast interrupt responses, offer control-oriented peripherals like PWMs and watchdog timers, and are usual ...
s (DSC MC56F80X and MC5680XX) used in
embedded system
An embedded system is a specialized 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 e ...
s.
The system was developed by
Metrowerks
Metrowerks was a company that developed software development tools for various desktop, handheld, embedded, and gaming platforms. Its flagship product, CodeWarrior, comprised an Integrated Development Environment, IDE, compilers, Linker (computin ...
on the
Macintosh
Mac is a brand of personal computers designed and marketed by Apple Inc., Apple since 1984. The name is short for Macintosh (its official name until 1999), a reference to the McIntosh (apple), McIntosh apple. The current product lineup inclu ...
, and was among the first development systems on that platform to cleanly support both the existing
Motorola 68k and 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 Inc., App ...
(PPC)
instruction set architecture
In computer science, an instruction set architecture (ISA) is an abstract model that generally defines how software controls the CPU in a computer or a family of computers. A device or program that executes instructions described by that ISA, ...
s. During Apple's transition to PowerPC, CodeWarrior quickly became the ''de facto'' standard development system for the Mac, rapidly displacing
Symantec Symantec may refer to:
* Gen Digital, an American consumer software company formerly known as Symantec
* Symantec Security, a brand of enterprise security software purchased by Broadcom
Broadcom Inc. is an American multinational corporation, ...
's
THINK C
Think C (stylized as THINK C), originally known as LightSpeed C, is an extension of the C programming language for the classic Mac OS developed by THINK Technologies, released first in mid-1986. THINK was founded by Andrew Singer, Frank Sinton an ...
and Apple's own
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. For Macintosh developers, it was one of the primary tools for building applications for System 7.x an ...
. Apple's purchase of
NeXT
NeXT, Inc. (later NeXT Computer, Inc. and NeXT Software, Inc.) was an American technology company headquartered in Redwood City, California that specialized in computer workstations for higher education and business markets, and later develope ...
in 1996 led to a decline in CodeWarrior's relevance as Mac programming moved to the NeXT platform's own developer tools:
Interface Builder
Interface Builder is a software development application for Apple's macOS operating system. It is part of Xcode (formerly Project Builder), the Apple Developer developer's toolset. Interface Builder allows Cocoa and Carbon developers to crea ...
and
Project Builder
Project Builder was an integrated development environment (IDE) originally developed by NeXT for version 3 of the NeXTSTEP operating system by separating out the code editing parts of Interface Builder into its own application.
After Apple Compu ...
, which were built on top of the
GNU Compiler Collection
The GNU Compiler Collection (GCC) is a collection of compilers from the GNU Project that support various programming languages, Computer architecture, hardware architectures, and operating systems. The Free Software Foundation (FSF) distributes ...
.
Metrowerks responded by porting CodeWarrior to
Microsoft Windows
Windows is a Product lining, product line of Proprietary software, proprietary graphical user interface, graphical operating systems developed and marketed by Microsoft. It is grouped into families and subfamilies that cater to particular sec ...
and introducing compilers for a wider variety of platforms. It became a major part of the
software stack
In computing, a solution stack or software stack is a set of software subsystems or components needed to create a complete platform such that no additional software is needed to support applications. Applications are said to "run on" or "run on ...
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 Input/output, outputs a video signal or image to display a video game that can typically be played with a game controller. These may be home video game console, home consoles, which are generally ...
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, embedde ...
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 which 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 ...
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
In computing, assembly language (alternatively assembler language or symbolic machine code), often referred to simply as assembly and commonly abbreviated as ASM or asm, is any low-level programming language with a very strong correspondence bet ...
.
History
Origins
In October 1992, John McEnerney, formerly development manager of Symantec's Language Products Group, left the company to work on his own on a PowerPC product, initially thinking about a
Pascal compiler. Rich Siegel, author of
BBEdit
BBEdit is a Proprietary software, proprietary text editor made by Bare Bones Software, originally developed for Macintosh System 6, System Software 6, and currently supporting macOS.
History
The first version of BBEdit was created as a "bare bon ...
, heard that McEnerney had left Symantec and told Greg Galanos of
Metrowerks
Metrowerks was a company that developed software development tools for various desktop, handheld, embedded, and gaming platforms. Its flagship product, CodeWarrior, comprised an Integrated Development Environment, IDE, compilers, Linker (computin ...
in
Montreal
Montreal is the List of towns in Quebec, largest city in the Provinces and territories of Canada, province of Quebec, the List of the largest municipalities in Canada by population, second-largest in Canada, and the List of North American cit ...
. Galanos phoned McEnerney and asked him to "describe your dream job". McEnerney said he wanted to write a
code generator for 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 Inc., App ...
(PPC) chip that Apple had announced they would be using in the future.
Metrowerks had already developed Pascal and
Modula-II compilers, originally for the
Atari ST
Atari ST is a line of personal computers from Atari Corporation and the successor to the company's Atari 8-bit computers, 8-bit computers. The initial model, the Atari 520ST, had limited release in April–June 1985, and was widely available i ...
, but later ported to a number of contemporary machines including the Mac. They flew McEnerney to Montreal to meet with Galanos and his partner Jean Belanger. They felt that there was a huge opportunity for a new toolchain on the PPC, combining their compilers with a new code PPC code generator written by McEnerney. They felt could get to market more rapidly than
Symantec Symantec may refer to:
* Gen Digital, an American consumer software company formerly known as Symantec
* Symantec Security, a brand of enterprise security software purchased by Broadcom
Broadcom Inc. is an American multinational corporation, ...
, the leading supplier of development systems on the Mac. Symantec was nowhere near the release of their products for PPC, and Apple was using updated versions of their own
Macintosh Programmers Workshop (MPW) for development on the PPC, a product that had been ignored for years. McEnerney was interested, but unimpressed with their compilers, and little came of this initial contact.
Around the same time, Andreas Hommel was in university in Germany completing a MS in
computer science
Computer science is the study of computation, information, and automation. Computer science spans Theoretical computer science, theoretical disciplines (such as algorithms, theory of computation, and information theory) to Applied science, ...
. He developed an interest in writing
computer game
A video game or computer game is an electronic game that involves interaction with a user interface or input device (such as a joystick, controller, keyboard, or motion sensing device) to generate visual feedback from a display device, mo ...
s in C, but found that existing compilers generated poor-quality code. Over a series of years he developed his own C compiler for the 68k along with a simple
integrated development environment
An integrated development environment (IDE) is a Application software, software application that provides comprehensive facilities for software development. An IDE normally consists of at least a source-code editor, build automation tools, an ...
(IDE). When he completed university he was offered a job in
Hamburg
Hamburg (, ; ), officially the Free and Hanseatic City of Hamburg,. is the List of cities in Germany by population, second-largest city in Germany after Berlin and List of cities in the European Union by population within city limits, 7th-lar ...
but decided to try to see if there was a market for his compiler. A few months later he received a call from Galanos. After several transatlantic phone calls, Galanos invited Hommel to come to Montreal and discuss working with them.
Development
In February 1993, Galanos called McEnerney and asked if they could meet in
Palo Alto
Palo Alto ( ; Spanish language, Spanish for ) is a charter city in northwestern Santa Clara County, California, United States, in the San Francisco Bay Area, named after a Sequoia sempervirens, coastal redwood tree known as El Palo Alto.
Th ...
so McEnerney could review a new C compiler Metrowerks had acquired. McEnerney was extremely impressed; the system looked like early versions of Think C, and was very fast. Describing it as "a diamond in the rough", McEnerney signed a contract with Metrowerks within hours. Hommel would extend his C compiler to a full
C++ implementation while disentangling it from the code generation stage. McEnerney would write a new PPC code generator that would be driven by Hommel's compiler. Hommel's existing 68K code generator would be used for that platform, slightly modified to support Pascal as well. Berardino Baratta and Marcel Achim in Montreal would continue developing the IDE and develop a Pascal compiler running on the same code generators.
Examining the new system, McEnerney decided to take an entirely new approach to code generation. Typical compilers of the era would repeatedly examine their
intermediate representation
An intermediate representation (IR) is the data structure or code used internally by a compiler or virtual machine to represent source code. An IR is designed to be conducive to further processing, such as optimization and translation. A "good" ...
(IR) producing more and more optimized versions of the code until they finally converted it to machine instructions. This approach was less important for
RISC
In electronics and computer science, a reduced instruction set computer (RISC) is a computer architecture designed to simplify the individual instructions given to the computer to accomplish tasks. Compared to the instructions given to a comp ...
platforms, as the
instruction set architecture
In computer science, an instruction set architecture (ISA) is an abstract model that generally defines how software controls the CPU in a computer or a family of computers. A device or program that executes instructions described by that ISA, ...
was much simpler and there was far less work involved in deciding which particular type of instruction to use for a given task. Instead, McEnerney's new code generator took the initial IR and converted that directly to PPC code.
The major change was to implement
Chaitin's algorithm
Chaitin's algorithm is a bottom-up, graph coloring register allocation algorithm that uses cost/degree as its spill metric. It is named after its designer, Gregory Chaitin. Chaitin's algorithm was the first register allocation algorithm that made ...
for register use. This system, introduced in 1982, was a landmark development in compiler technique. It allowed a code generator to map
local variable
In computer science, a local variable is a variable that is given ''local scope''. A local variable reference in the function or block in which it is declared overrides the same variable name in the larger scope. In programming languages with ...
s to
processor register
A processor register is a quickly accessible location available to a computer's processor. Registers usually consist of a small amount of fast storage, although some registers have specific hardware functions, and may be read-only or write-onl ...
s with very high efficiency. On a machine that relied on register use for performance, which is one of the primary concepts of RISC processors, this technique can lead to huge improvements. The downside is that it is expensive to calculate the results, being an
O(N2) process.
To help develop the PPC compiler, Apple's Jordan Mattson sent McEnerney one of their
RS/6000
The RISC System/6000 is a family of RISC-based (Reduced Instruction Set Computer-based) Unix servers, workstations and supercomputers made by IBM in the 1990s. The RS/6000 family replaced the IBM RT PC computer platform in February 1990 an ...
systems. By August 1993 the basic system was running. McEnerney got a phone call from a former Symantec colleague, Dan Podwall, who was looking for work at Metrowerks. Galanos called Podwall, who was immediately hired to write a
debugger
A debugger is a computer program used to test and debug other programs (the "target" programs). Common features of debuggers include the ability to run or halt the target program using breakpoints, step through code line by line, and display ...
, completed in only four weeks.
A prototype
Power Macintosh
The Power Macintosh, later Power Mac, is a family of personal computers designed, manufactured, and sold by Apple Inc., Apple Computer, Inc as the core of the Mac (computer), Macintosh brand from March 1994 until August 2006.
Described by ''Mac ...
machine was sent to the company in September 1993. At the time, the main IDE and compiler toolchain was still running on the 68k machines, producing PPC binaries that were then moved to the prototype and debugged. This allowed them to quickly port the system to the PPC, and by December the entire system was ready for production.
Release
The system was launched as CodeWarrior at the
MacWorld Expo
Macworld/iWorld (originally Macworld) was an information technology trade show with conference tracks dedicated to Apple's Mac platform. It was held annually in the United States during January. Originally ''Macworld Expo'' and then ''Macworld Con ...
in January 1994. The Power Macs were slated to be launched that month as well, but a series of delays forced this to be set off until the official launch of the Power Mac machines on 14 March.
At the time, both Apple's MPW and Symantec's Think C ran only on 68k machines, and only MPW was able to generate PPC binaries. Running natively on the PPC, and based on code dedicated to the platform, CodeWarrior offered dramatically higher performance, while allowing one to develop and debug on a single machine. Sales of other development systems ended practically overnight. Symantec, who had owned the Mac development market since 1986, did not release a native PPC version until late March 1995. By this time, several major Mac software vendors had moved to CodeWarrior and Symantec was never able to re-establish any sort of marketshare on the Mac.
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:
* Gen Digital, an American consumer software company formerly known as Symantec
* Symantec Security, a brand of enterprise security software purchased by Broadcom
Broadcom Inc. is an American multinational corporation, ...
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.
Moving to multiple platforms
In 1997, Apple purchased NeXT
NeXT, Inc. (later NeXT Computer, Inc. and NeXT Software, Inc.) was an American technology company headquartered in Redwood City, California that specialized in computer workstations for higher education and business markets, and later develope ...
in order to use their operating system
An operating system (OS) is system software that manages computer hardware and software resources, and provides common daemon (computing), services for computer programs.
Time-sharing operating systems scheduler (computing), schedule tasks for ...
, OpenStep
OpenStep is an object-oriented application programming interface (API) specification developed by NeXT. It provides a framework for building graphical user interfaces (GUIs) and developing software applications. OpenStep was designed to be plat ...
, as the basis for future Mac products. OpenStep was based around the concept of the entire operating system and all of its applications being built using an internal development system. This was, in turn, based on the GNU Compiler Collection
The GNU Compiler Collection (GCC) is a collection of compilers from the GNU Project that support various programming languages, Computer architecture, hardware architectures, and operating systems. The Free Software Foundation (FSF) distributes ...
(GCC). While CodeWarrior would still be important for developers writing "classic" Mac applications on the platform, there was a clear time frame after which development would primarily be through the new OpenStep platform, and therefore be through the GCC.
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.
Motorola era
After Metrowerks was acquired by Motorola
Motorola, Inc. () was an American multinational telecommunications company based in Schaumburg, Illinois. It was founded by brothers Paul and Joseph Galvin in 1928 and had been named Motorola since 1947. Many of Motorola's products had been ...
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
Xcode is a suite of developer tools for building apps on Apple devices. It includes an integrated development environment (IDE) of the same name for macOS, used to develop software for macOS, iOS, iPadOS, watchOS, tvOS, and visionOS. It w ...
(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, and Delaware General Corporation Law, incorporated in Delaware. Intel designs, manufactures, and sells computer compo ...
chips left Metrowerks without an obvious product as they had sold their Intel compiler technology to Nokia
Nokia Corporation is a Finnish multinational corporation, multinational telecommunications industry, telecommunications, technology company, information technology, and consumer electronics corporation, originally established as a pulp mill in 1 ...
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'' (''NYT'') is an American daily newspaper based in New York City. ''The New York Times'' covers domestic, national, and international news, and publishes opinion pieces, investigative reports, and reviews. As one of ...
''.
Old versions
Prior to the acquisition of the product by Freescale, versions existed targeting Macintosh
Mac is a brand of personal computers designed and marketed by Apple Inc., Apple since 1984. The name is short for Macintosh (its official name until 1999), a reference to the McIntosh (apple), McIntosh apple. The current product lineup inclu ...
, Microsoft Windows
Windows is a Product lining, product line of Proprietary software, proprietary graphical user interface, graphical operating systems developed and marketed by Microsoft. It is grouped into families and subfamilies that cater to particular sec ...
, Linux
Linux ( ) is a family of open source Unix-like operating systems based on the Linux kernel, an kernel (operating system), operating system kernel first released on September 17, 1991, by Linus Torvalds. Linux is typically package manager, pac ...
, Solaris
Solaris is the Latin word for sun.
It may refer to:
Arts and entertainment Literature, television and film
* ''Solaris'' (novel), a 1961 science fiction novel by Stanisław Lem
** ''Solaris'' (1968 film), directed by Boris Nirenburg
** ''Sol ...
, PlayStation
is a video gaming brand owned and produced by Sony Interactive Entertainment (SIE), a division of Japanese conglomerate Sony. Its flagship products consists of a series of home video game consoles produced under the brand; it also consists ...
, PlayStation 2
The PlayStation 2 (PS2) is a home video game console developed and marketed by Sony Interactive Entertainment, Sony Computer Entertainment. It was first released in Japan on 4 March 2000, in North America on 26 October, in Europe on 24 Novembe ...
, GameCube
The is a PowerPC-based home video game console developed and marketed by Nintendo. It was released in Japan on September 14, 2001, in North America on November 18, 2001, in Europe on May 3, 2002, and in Australia on May 17, 2002. It is the suc ...
, Nintendo DS
The is a foldable handheld game console produced by Nintendo, released globally across 2004 and 2005. The DS, an initialism for "Developers' System" or "Dual Screen", introduced distinctive new features to handheld games: two LCD screens worki ...
, Wii
The Wii ( ) is a home video game console developed and marketed by Nintendo. It was released on November 19, 2006, in North America, and in December 2006 for most other regions of the world. It is Nintendo's fifth major home game console, f ...
, Dreamcast
The is the final home video game console manufactured by Sega. It was released in Japan on November 27, 1998, in North America on September 9, 1999 and in Europe on October 14, 1999. It was the first sixth-generation video game console, prec ...
, 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 the ...
, 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 pa ...
, Palm OS
Palm OS (also known as Garnet OS) is a discontinued 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. ...
, 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 OS ...
, and BeOS
BeOS is a discontinued operating system for personal computers that was developed by Be Inc. It was conceived for the company's BeBox personal computer which was released in 1995. BeOS was designed for multitasking, multithreading, and a graph ...
.
Metrowerks
Metrowerks was a company that developed software development tools for various desktop, handheld, embedded, and gaming platforms. Its flagship product, CodeWarrior, comprised an Integrated Development Environment, IDE, compilers, Linker (computin ...
versions of CodeWarrior also included Pascal, Object Pascal
Object Pascal is an extension to the programming language Pascal (programming language), Pascal that provides object-oriented programming (OOP) features such as Class (computer programming), classes and Method (computer programming), methods.
T ...
, Objective-C
Objective-C is a high-level general-purpose, object-oriented programming language that adds Smalltalk-style message passing (messaging) to the C programming language. Originally developed by Brad Cox and Tom Love in the early 1980s, it was ...
, and Java
Java is one of the Greater Sunda Islands in Indonesia. It is bordered by the Indian Ocean to the south and the Java Sea (a part of Pacific Ocean) to the north. With a population of 156.9 million people (including Madura) in mid 2024, proje ...
compilers.
Older versions of CodeWarrior can be used to develop on classic Mac OS. Classilla
Classilla was a Gecko-based Internet suite for PowerPC-based classic Macintosh operating systems, essentially an updated descendant of the defunct Mozilla Application Suite by way of the Mac OS port maintained in the aborteWaMComproject. The nam ...
is built with Metrowerks CodeWarrior 7.1.
Origin of the name
During the 1990s, Apple Computer
Apple Inc. is an American multinational corporation and technology company headquartered in Cupertino, California, in Silicon Valley. It is best known for its consumer electronics, software, and services. Founded in 1976 as Apple Computer Co ...
released a monthly series of developer CD-ROM
A CD-ROM (, compact disc read-only memory) is a type of read-only memory consisting of a pre-pressed optical compact disc that contains computer data storage, data computers can read, but not write or erase. Some CDs, called enhanced CDs, hold b ...
s 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 from a screenplay by William Peter Blatty, based on The Exorcist (novel), his 1971 novel. The film stars Ellen Burstyn, Max von Sydow, Jason Miller (play ...
''), "Lord of the Files" (''Lord of the Flies
''Lord of the Flies'' is the 1954 debut novel of British author William Golding. The plot concerns a group of prepubescent British boys who are stranded on an uninhabited island and their disastrous attempts to govern themselves that led to ...
''), "Gorillas in the Disc" (''Gorillas in the Mist
''Gorillas in the Mist'' is a 1988 American biographical drama film directed by Michael Apted from a screenplay by Anna Hamilton Phelan and a story by Phelan and Tab Murphy. The film is based on a book of the same name by Dian Fossey and fr ...
''), etc.
One of these, volume 9, was titled "Code Warrior", referring to the movie ''The Road Warrior
''Mad Max 2'' (released as ''The Road Warrior'' in the United States) is a 1981 Australian post-apocalyptic dystopian action film directed by George Miller, who co-wrote it with Terry Hayes and Brian Hannant. It is the second installment in ...
''. 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
Think C (stylized as THINK C), originally known as LightSpeed C, is an extension of the C programming language for the classic Mac OS developed by THINK Technologies, released first in mid-1986. THINK was founded by Andrew Singer, Frank Sinton an ...
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, Unix-based operating system developed and marketed by Apple Inc., Apple since 2001. It is the current operating system for Apple's Mac (computer), Mac computers. With ...
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 high ...
and other UNIX systems.
Latitude presented itself as a library that implemented the Macintosh System 7
System 7 (later named Mac OS 7) is the seventh major release of the classic Mac OS operating system for Macintosh computers, made by Apple Computer. It was launched on May 13, 1991, to succeed System 6 with virtual memory, personal file shari ...
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 (from arabic: الطوب Attub ; ) 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 use ...
to port Photoshop
Adobe Photoshop is a raster graphics editor developed and published by Adobe for Windows and macOS. It was created in 1987 by Thomas and John Knoll. It is the most used tool for professional digital art, especially in raster graphics editin ...
and Premiere
A premiere, also spelled première, (from , ) is the debut (first public presentation) of a work, i.e. play, film, dance, musical composition, or even a performer in that work.
History
Raymond F. Betts attributes the introduction of the ...
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
Solaris is the Latin word for sun.
It may refer to:
Arts and entertainment Literature, television and film
* ''Solaris'' (novel), a 1961 science fiction novel by Stanisław Lem
** ''Solaris'' (1968 film), directed by Boris Nirenburg
** ''Sol ...
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 an object-oriented application programming interface (API) specification developed by NeXT. It provides a framework for building graphical user interfaces (GUIs) and developing software applications. OpenStep was designed to be plat ...
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 high-level general-purpose, object-oriented programming language that adds Smalltalk-style message passing (messaging) to the C programming language. Originally developed by Brad Cox and Tom Love in the early 1980s, it was ...
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
The Worldwide Developers Conference (WWDC) is an information technology conference held annually by Apple Inc. The conference is currently held at Apple Park in California. The event is used to showcase new software and technologies in the macO ...
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
Bibliography
*
*
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