SAN FRANCISCO—In addition to unveiling new hardware and previewing the new “Leopard” version of OS X, Apple Computer CEO Steve Jobs used his keynote Aug. 7 at the Worldwide Developers Conference here to announce Xcode 3, a new version of Apples graphical integrated development environment for creating Mac apps.
Xcode 3.0 uses Objective-C 2.0, a revised version of the object-oriented programming language that formed the basis for Xcode, Mac OS X and its predecessor, the NextStep operating system. According to Apple, Objective-C 2.0 will add “modern garbage collection, syntax enhancements, runtime performance improvements and 64-bit support.” Apple also said that Xcode 3.0 and Objective-C 2.0 will be backward-compatible with existing Objective-C code.
Version 3.0 will require Leopard, a preview version of which was just released to developers. Apple has released some information about upcoming features, though there are likely other facets that remain hidden.
Garbage collection, a method of automatic memory management, was long a requested feature in Xcode. Previous Xcode versions required programmers to keep track of memory requested by their application and manually release the memory when no longer needed. Any missteps in this process could result in the application exhibiting memory leaks, which consumed system memory and imperiled the stability of the application.
The 64-bit support in Xcode 3 will enable developers to create applications for the 64-bit versions of Leopard. Apple CEO Steve Jobs also announced in his keynote that Leopard will support 64-bit applications, and that the new Mac Pro workstations will feature 64-bit-capable Intel Xeon processors.
64-bit support, which can enable larger chunks of data to be processed, has become an increasingly important feature for not only those who work with large-scale graphics images, but also database programmers and the scientific community.
Xcode 3.0 will also include a new program called Xray. This, according to Apple, will help developers graphically track the performance of elements of their application. Visually, Apple said, Xray will resemble timeline-based editors such as Apples iMovie and GarageBand, allowing programmers to track their applications actions against CPU load to see how one affects the other.
In addition, Xcode 3.0 will incorporate DTrace, a dynamic tracing framework that was originally part of OpenSolaris. Released as open source, DTrace helps developers debug and tune the performance of their applications.
It was first seen as one IDE (integrated development environment) among many, though Apple promoted it aggressively, even offering it for free. At the time, most developers of Mac applications used other development environments, such as CodeWarrior from Metrowerks (at the time, Metrowerks was owned by Motorolas semiconductor division, which has been since spun off as Freescale). CodeWarrior for the Mac OS was discontinued in July 2005.
Apple had urged developers to migrate to Xcode from its inception, but the announcement of Apples transition from PowerPC to Intel processors made the move a matter of necessity, as only Xcode would allow development of applications that would run on both architectures.
Though thousands of applications have migrated to Xcode and now appear in Universal Binary (PowerPC and Intel) versions, some larger applications—such as Adobes creative applications and Microsofts Office for the Mac—have not yet moved to Xcode.
However, this week Microsofts Mac Business Unit announced that it has migrated “tens of millions of lines of code” of the Office suite to Xcode in the effort to make a Universal Binary version. How many total lines of code the suite contains remains unknown, as does the expected delivery date of the Intel version.
Currently, Intel-based Mac users need to run Office in OS Xs Rosetta emulation environment, which results in a performance hit. For professional users, this performance hit can impact applications such as Adobes Photoshop.
The Universal Binary version will help alleviate these performance issues.