Movatterモバイル変換


[0]ホーム

URL:


Jump to content
WikipediaThe Free Encyclopedia
Search

CodeWarrior

From Wikipedia, the free encyclopedia
Integrated software development environment
icon
This articleneeds additional citations forverification. Please helpimprove this article byadding citations to reliable sources. Unsourced material may be challenged and removed.
Find sources: "CodeWarrior" – news ·newspapers ·books ·scholar ·JSTOR
(November 2011) (Learn how and when to remove this message)
CodeWarrior
DeveloperMetrowerks
Initial releaseDecember 23, 1993; 31 years ago (1993-12-23)
Operating systemClassic Mac OS,Mac OS X,BeOS,Windows,Linux,Solaris
TypeSoftware development tool
LicenseProprietary
Websitewww.nxp.com/design/software/development-software/codewarrior-development-tools:CW_HOME Edit this on Wikidata

CodeWarrior is anintegrated development environment (IDE) published byNXP Semiconductors for editing, compiling, and debugging software for severalmicrocontrollers andmicroprocessors (Freescale ColdFire, ColdFire+, Kinetis,Qorivva, PX,Freescale RS08,Freescale S08, and S12Z) anddigital signal controllers (DSC MC56F80X and MC5680XX) used inembedded systems.

The system was developed byMetrowerks on theMacintosh, and was among the first development systems on that platform to cleanly support both the existingMotorola 68k and thePowerPC (PPC)instruction set architectures. During Apple's transition to PowerPC, CodeWarrior quickly became thede facto standard development system for the Mac, rapidly displacingSymantec'sTHINK C and Apple's ownMacintosh Programmer's Workshop. Apple's purchase ofNeXT in 1996 led to a decline in CodeWarrior's relevance as Mac programming moved to the NeXT platform's own developer tools:Interface Builder andProject Builder, which were built on top of theGNU Compiler Collection.

Metrowerks responded by porting CodeWarrior toMicrosoft Windows and introducing compilers for a wider variety of platforms. It became a major part of thesoftware 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 manygames consoles. The product moved toFreescale 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 withEclipse IDE. The current versions are 6.3 of the Classic IDE,[1] and 11.0 for the Eclipse IDE.[2] Languages supported areC,C++, andassembly language.

History

[edit]

Origins

[edit]

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 aPascal compiler. Rich Siegel, author ofBBEdit, heard that McEnerney had left Symantec and told Greg Galanos ofMetrowerks inMontreal. Galanos phoned McEnerney and asked him to "describe your dream job". McEnerney said he wanted to write acode generator for the newPowerPC (PPC) chip that Apple had announced they would be using in the future.[3]

Metrowerks had already developed Pascal andModula-II compilers, originally for theAtari ST, 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 thanSymantec, 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 ownMacintosh 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.[3]

Around the same time, Andreas Hommel was in university in Germany completing a MS incomputer science. He developed an interest in writingcomputer games 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 simpleintegrated development environment (IDE). When he completed university he was offered a job inHamburg 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.[4]

Development

[edit]

In February 1993, Galanos called McEnerney and asked if they could meet inPalo Alto 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 fullC++ 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.[3]

Examining the new system, McEnerney decided to take an entirely new approach to code generation. Typical compilers of the era would repeatedly examine theirintermediate representation (IR) producing more and more optimized versions of the code until they finally converted it to machine instructions. This approach was less important forRISC platforms, as theinstruction set architecture 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.[3]

The major change was to implementChaitin's algorithm for register use. This system, introduced in 1982, was a landmark development in compiler technique. It allowed a code generator to maplocal variables toprocessor registers 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 anO(N2) process.[3]

To help develop the PPC compiler, Apple's Jordan Mattson sent McEnerney one of theirRS/6000 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 adebugger, completed in only four weeks.[3]

A prototypePower Macintosh 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.[3]

Release

[edit]

The system was launched as CodeWarrior at theMacWorld Expo 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.[3]

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.[5]

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 andSymantec C++) was mostly incomplete or late to the market.[5] Metrowerks also made it easy to generatefat binaries, which included both 68K and PowerPC code.

Java support in CodeWarrior for Macintosh was announced for May 1996, slated for CodeWarrior 9.[6] Metrowerks took the approach to add Java tools support in CodeWarrior, including debugging, rather than write a new IDE.[7]

Moving to multiple platforms

[edit]

In 1997, Apple purchasedNeXT in order to use theiroperating system,OpenStep, 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 theGNU Compiler Collection (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,[8] a BeOS version of the IDE namedBeIDE supplementing the PowerPC compiler that was already available to BeOS software developers.

Motorola era

[edit]

After Metrowerks was acquired byMotorola in 1999, the company concentrated onembedded 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 distributingXcode (its own software development kit for OS X) for free.[9] In addition, Apple's switch toIntel chips left Metrowerks without an obvious product as they had sold their Intel compiler technology toNokia earlier in 2005.[citation needed]

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 ofThe New York Times.[10]

Old versions

[edit]
CodeWarrior Professional Release 1

Prior to the acquisition of the product by Freescale, versions existed targetingMacintosh,Microsoft Windows,Linux,Solaris,PlayStation,PlayStation 2,GameCube,Nintendo DS,Wii,[11]Dreamcast,SuperH,M·CORE,Palm OS,[12]Symbian OS, andBeOS.[8]

Metrowerks versions of CodeWarrior also includedPascal,Object Pascal,Objective-C, andJava compilers.

Older versions of CodeWarrior can be used to develop on classic Mac OS.Classilla is built with Metrowerks CodeWarrior 7.1.[13]

Release nameEditionsRelease dateNotes[14]
CodeWarrior DR/1Gold, Silver, Bronze1993-12-23Bronze supports 68k, Silver supports PPC, Gold supports 68k and PPC
CodeWarrior DR/2Gold, Silver, Bronze1994-03-11
CodeWarrior DR/3Gold, Silver, Bronze1994-05-05
CodeWarrior 4Gold, Silver, Bronze1994-06-26
CodeWarrior 5Gold, Bronze1994-12-15
CodeWarrior 6Gold, Bronze1995-05-03
CodeWarrior 7Gold, Bronze1995-09-05
CodeWarrior 8Gold, Bronze1996-01-04
CodeWarrior 9Gold1996-05-11
CodeWarrior 10Gold1996-09-09
CodeWarrior 11Gold1996-12-31
CodeWarrior Pro 11997-06-04Mac and Windows bundled
CodeWarrior Pro 21997-10-23First version to targetMach-O and Yellow Box on Rhapsody with support forObjective-C[15]
CodeWarrior Pro 31998-04-07
CodeWarrior Pro 41998-09-10Last to include Pascal[16]

Last to run on 68k[17]

CodeWarrior Pro 5Mac, Windows1999-06-18
CodeWarrior Pro 6Mac, Windows2000-09-09Last to support 68k compiling[16][18] Pre-release support of Mach-O, and use Aqua user interface onMac OS X.[19]
CodeWarrior Pro 7Mac, Windows2001First to run natively in Mac OS X and targetMach-O by default[18]
CodeWarrior Pro 8Mac, Windows2002Last to run on Classic Mac OS
CodeWarrior 9Mac2003
CodeWarrior 10Windows2004

Origin of the name

[edit]

During the 1990s,Apple Computer released a monthly series of developerCD-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.[20]

One of these, volume 9, was titled "Code Warrior", referring to the movieThe 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'sTHINK C were more conventionally marketed.

CodeWarrior Latitude

[edit]

Metrowerks foresaw as it had with the transition to PowerPC, a need to provide a must have developer tool to help developers transition fromMacOS software to Apple's future operating system, codenamedRhapsody.[21]

In 1997, Metrowerks acquired the principal assets ofThe Latitude Group Inc. from David Hempling and his partners. Latitude was a software compatibility layer used to port Macintosh applications to theNeXT Computer and other UNIX systems.[22]

Latitude presented itself as a library that implemented the MacintoshSystem 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 byAdobe to portPhotoshop andPremiere toSilicon Graphics andSolaris workstations.[23]

Metrowerks rebranded Latitude as CodeWarrior Latitude,[24] 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.[25][26]

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.[27]

At the time, Steve Jobs was heavily promoting theOPENSTEP API (renamedYellow 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 insideBlue Box and wasObjective-C based. Latitude was for a short time coined as the "Green Box"[28] 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 atWorldwide 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 forthcomingCarbon 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.[29]

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

[edit]
  1. ^"CodeWarrior for Microcontrollers (Classic IDE)".NXP Semiconductors.
  2. ^"CodeWarrior for Microcontrollers (Eclipse IDE)".NXP Semiconductors.
  3. ^abcdefghMark 1996a.
  4. ^Mark 1996b.
  5. ^abSeiter, Charles (July 1995)."A crucial compiler ships".Macworld. Vol. 12, no. 7. p. 41.
  6. ^Kawakami, John (January 1996)."Yet Another Platform for CodeWarrior: Java".MacTech. Vol. 12, no. 1. p. 98.
  7. ^Sheets, Steve (May 1998)."Java Development Environments".MacTech. Vol. 14, no. 5. p. 20.
  8. ^ab"Pipeline".InfoWorld. Vol. 18, no. 33. 12 August 1996. p. 35.
  9. ^Handy, Alex (15 August 2005)."Metrowerks plans to ax CodeWarrior for Macintosh".SD Times. No. 132. p. 1.
  10. ^"FRONTIERS OF MARKETING; Selling Geek Chic".The New York Times. 1995-02-12. Retrieved2015-05-28.
  11. ^Carless, Simon (2006-05-09)."CodeWarrior Named Official Toolset For Nintendo Wii". Gamasutra. Archived fromthe original on June 11, 2007. Retrieved2015-05-28.
  12. ^Mark, Dave; Cloninger, Eric (March 1998)."CodeWarrior for PalmPilot".MacTech. Vol. 14, no. 3. pp. 49–52.
  13. ^"Classilla: HowToBuild". Retrieved2015-05-28.
  14. ^"CodeWarrior Version History".Google Groups. Retrieved2018-06-15.
  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. Retrieved19 February 2022.
  16. ^abAtwell, Richard (July 2000)."Arnold goes to WWDC".MacTech. Vol. 16, no. 6. pp. 110–111.Archived from the original on 19 February 2022. Retrieved19 February 2022.
  17. ^Cook, David."Metrowerks CodeWarrior Best Version and Updates".68KMLA. Retrieved9 October 2022.
  18. ^abAtwell, Richard (June 2001)."The Road from Rhapsody".MacTech. Vol. 17, no. 6. pp. 20–32.Archived from the original on 19 February 2022. Retrieved19 February 2022.
  19. ^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. Retrieved19 February 2022.
  20. ^Every, David K. (1999)."Apple Developer CD Codenames: Puns, fun, and satire". MacKiDo. Retrieved2015-05-28.
  21. ^Mark, Dave (May 1997)."Greg Galanos and the Mac Developer's Roadmap".MacTech. Vol. 13, no. 5.
  22. ^Mark, Dave (June 1997)."David Hempling and the Latitude Porting Libraries".MacTech. Vol. 13, no. 6.
  23. ^Mark, Dave (December 1997)."Sean Parent: The Photoshop Development Process".MacTech. Vol. 13, no. 12. pp. 42–44.
  24. ^"[MD1] Metrowerks Acquires Latitude".MacTech. 27 January 1997. Retrieved25 August 2021.
  25. ^"Developer Depot".MacTech (Advertisement). January 1998. p. 2.
  26. ^Mark, Dave (January 1998)."CodeWarrior Latitude: Porting Your Apps to Rhapsody".MacTech. Vol. 14, no. 1.
  27. ^"[MD1] 1998 Eddy Tool Awards Winners".MacTech. 6 January 1998.
  28. ^"Metrowerks Green Box to plow Mac path to OpenStep APIs". InfoWorld. 25 April 1997.
  29. ^Walsh, Jeff (12 May 1997)."Apple to woo developers with Rhapsody tools".InfoWorld. Vol. 19, no. 19. p. 15.

Bibliography

[edit]

External links

[edit]

Official websiteEdit this at Wikidata

C,C++
Open source
Freeware
Retail
Discontinued
Java
Open source
Freeware
Retail
Discontinued
JavaScript
Open source
CLI (.NET)
Open source
Freeware
Retail
Discontinued
Flash
PHP
Open source
Proprietary
R
Python
Open source
Proprietary
Pascal,
Object Pascal
Open source
Freeware
Retail
Discontinued
BASIC
Open source
Freeware
Retail
Discontinued
Go
Open source
Freeware
Retail
Eiffel
Haxe
POP-11
Online
Companies
Computers
Operating systems
Software
Internals
Retrieved from "https://en.wikipedia.org/w/index.php?title=CodeWarrior&oldid=1295692164"
Categories:
Hidden categories:

[8]ページ先頭

©2009-2025 Movatter.jp