Open main menu
Home
Random
Recent changes
Special pages
Community portal
Preferences
About Wikipedia
Disclaimers
Incubator escapee wiki
Search
User menu
Talk
Dark mode
Contributions
Create account
Log in
Editing
CodeWarrior
(section)
Warning:
You are not logged in. Your IP address will be publicly visible if you make any edits. If you
log in
or
create an account
, your edits will be attributed to your username, along with other benefits.
Anti-spam check. Do
not
fill this in!
==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 (programming language)|Pascal]] compiler. Rich Siegel, author of [[BBEdit]], heard that McEnerney had left Symantec and told Greg Galanos of [[Metrowerks]] in [[Montreal]]. Galanos phoned McEnerney and asked him to "describe your dream job". McEnerney said he wanted to write a [[Code generation (compiler)|code generator]] for the new [[PowerPC]] (PPC) chip that Apple had announced they would be using in the future.{{sfn|Mark|1996a}} Metrowerks had already developed Pascal and [[Modula-II]] compilers, originally for the [[Atari 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 than [[Gen Digital|Symantec]], 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.{{sfn|Mark|1996a}} Around the same time, Andreas Hommel was in university in Germany completing a MS in [[computer science]]. He developed an interest in writing [[computer game]]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]] (IDE). When he completed university he was offered a job in [[Hamburg]] 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.{{sfn|Mark|1996b}} ===Development=== In February 1993, Galanos called McEnerney and asked if they could meet in [[Palo 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 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.{{sfn|Mark|1996a}} 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]] (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]] platforms, as the [[instruction 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.{{sfn|Mark|1996a}} The major change was to implement [[Chaitin's algorithm]] for register use. This system, introduced in 1982, was a landmark development in compiler technique. It allowed a code generator to map [[local variable]]s to [[processor register]]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 [[Big O notation|O(N<sup>2</sup>)]] process.{{sfn|Mark|1996a}} To help develop the PPC compiler, Apple's Jordan Mattson sent McEnerney one of their [[RS/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 a [[debugger]], completed in only four weeks.{{sfn|Mark|1996a}} A prototype [[Power 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.{{sfn|Mark|1996a}} ===Release=== The system was launched as CodeWarrior at the [[MacWorld 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.{{sfn|Mark|1996a}} 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.<ref name=macworld1995_07_p41>{{cite magazine | magazine = [[Macworld]] | title = A crucial compiler ships | url = https://archive.org/details/eu_Macworld-1995-07-INT_OCR/page/n44/mode/1up | first = Charles | last = Seiter | page = 41 | date = July 1995 | volume = 12 | issue = 7 }}</ref> 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 [[NortonLifeLock|Symantec]] C++) was mostly incomplete or late to the market.<ref name=macworld1995_07_p41/> Metrowerks also made it easy to generate [[fat binary|fat binaries]], which included both 68K and PowerPC code. Java support in CodeWarrior for Macintosh was announced for May 1996, slated for CodeWarrior 9.<ref name=javacw>{{cite magazine|magazine=[[MacTech]] |title=Yet Another Platform for CodeWarrior: Java |url=http://preserve.mactech.com/articles/mactech/Vol.12/12.01/Jan96Newsbits/index.html |date=January 1996 |page=98 |volume=12 |issue=1 |first=John |last=Kawakami}}</ref> Metrowerks took the approach to add Java tools support in CodeWarrior, including debugging, rather than write a new IDE.<ref>{{cite magazine|magazine=[[MacTech]] |title=Java Development Environments |url=http://preserve.mactech.com/articles/mactech/Vol.14/14.05/JavaDevEnvironments/index.html |date=May 1998| page=20 |volume=14 |issue=5 |first=Steve |last=Sheets}}</ref> ===Moving to multiple platforms=== In 1997, Apple purchased [[NeXT]] in order to use their [[operating 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 the [[GNU 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,<ref name=infoworld_18_33 /> 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]] in 1999, the company concentrated on [[embedded systems|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.<ref>{{cite magazine | magazine = [[SD Times]] | title = Metrowerks plans to ax CodeWarrior for Macintosh | first = Alex | last = Handy | date = 15 August 2005 | issue = 132 | page = 1 | url = https://archive.org/details/sdtimes132/mode/1up }}</ref> 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.{{citation needed|date=August 2021}} 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]]''.<ref>{{cite web |title= FRONTIERS OF MARKETING; Selling Geek Chic |work=The New York Times|date= 1995-02-12 |url= https://www.nytimes.com/1995/02/12/magazine/sunday-february-12-1995-frontiers-of-marketing-selling-geek-chic.html |access-date= 2015-05-28 |url-access=registration}}</ref>
Edit summary
(Briefly describe your changes)
By publishing changes, you agree to the
Terms of Use
, and you irrevocably agree to release your contribution under the
CC BY-SA 4.0 License
and the
GFDL
. You agree that a hyperlink or URL is sufficient attribution under the Creative Commons license.
Cancel
Editing help
(opens in new window)