Die neue Version firmiert unter dem Namen CodeWarrior Professional 1 und lvst alle bisherigen Bezeichnungen ab. Die Unterscheidung in je eine Bronze-, Silber- (wurde nie ausgeliefert) und Goldversion machte schlie_lich ohnehin kaum noch Sinn, da fast alle Entwickler zu letzterer griffen: schon alleine deshalb, weil nur sie Native-Code f|r Power Macs zu erzeugen vermochte. Die neue IDE (Entwicklungsumgebung, Integrated Development Environment) ist unter MacOS und Windows 95/NT nahezu identisch.
Auch f|r die Systeme OS9, BeOS, embedded PowerPC, Palm OS, den Pilot-PDA und die PlayStation-Spiele-Console hat Metrowerks Entwicklungspakete im Angebot. Die IDE ist immer die gleiche.
Wer Mac-Programme schreiben mvchte, hat die Wahl zwischen den Sprachen C, C++ und Pascal. Von Objective C, der wichtigsten Sprache f|r OpenStep und damit Rhapsody, findet sich nur eine Vorversion im Paket (Ordner `Prereleases4). Apple baut ndmlich derzeit noch die Unterst|tzung neuer Objekte wie etwa QuickTime ein.
An der Macintosh-Klassenbibliothek PowerPlant hat sich nur wenig getan. Zwar wurden einige Bugs beseitigt, aber im wesentlichen kommt mit CW Pro der gleiche Umfang an Klassen wie bisher. Zu PowerPlant gibt es auch noch kein neueres Handbuch als jenes, das bereits mit CodeWarrior 11 ausgeliefert wurde.
PC-Programmierer m|ssen sich zwischen C und C++ entscheiden. Neben der nativen Win32-API gehvrt pflichtgemd_ auch die Klassenbibliothek MFC (Microsoft Foundation Classes) zum CodeWarrior-Lieferumfang - allerdings nur in der alten Version 4.2. Da Konkurrent Microsoft mit seinem Visual C++ bereits die MFC 5.0 ausliefert, macht es Metrowerks potentiellen Umsteigern unnvtig schwer.
Neben den von Sun entwickelten Java-Klassen liefert Metrowerks au_erdem noch die Internet Foundation Classes (IFC) von Netscape sowie die Java Generic Library (JGL) von ObjectSpace mit. Beide Bibliotheken verfolgen verschiedene Zielrichtungen.
Netscapes IFC besteht aus mehr als 120 GUI- und etwa 30 weiteren Klassen aus dem Bereich Tools. Letztere enthalten beispielsweise aus FileInputStream abgeleitete Klassen, die Objekte serialisieren. Allerdings meidet Netscape mal wieder so manche Konvention: die Packages hei_en netscape.application und netscape.util statt wie erwartet com.netscape.application oder com.netscape.util.
ObjectSpace dagegen hdlt sich mit dem Package COM.objectspace.jgl an die Regel und implementiert in |ber 150 Klassen Algorithmen und Datenstrukturen jeglicher Art. Die umfangreiche Bibliothek deckt fast jeden Bereich ab und erweist sich bei der praktischen Arbeit als sehr hilfreich und zeitsparend.
Bei der \bernahme alter Projekte ist jedoch einige Vorsicht geboten. CW konvertiert zwar Projekte automatisch, besonders bei dlteren Java-Projekten gibt es aber hin und wieder unerkldrliche Phdnomene. So brach bei einer in Java realisierten Client/Server-Applikation der Compiler nach der automatischen Konvertierung stets mit der Fehlermeldung `Null Pointer Exception4 ab. Wohlgemerkt, der Compiler meldete den Fehler, nicht das fertig kompilierte und gebundene Programm. Erst nachdem das Projekt vollstdndig neu angelegt und der Sourcecode |bernommen wurde, trat der Fehler nicht mehr auf.
Ist ein Java-Projekt sowohl vollstdndig kompiliert als auch gelinkt, und man entfernt danach manuell alle Klassen aus dem class-Ordner, so vergi_t das Entwicklungssystem, die Klassen neu zu generieren. Auch die Funktionen `Bring Up To Date4 oder `Make4 bewirken diesbez|glich nichts. Dagegen generiert CodeWarrior Pro brav alle erforderlichen Klassen neu, sobald man eine Datei nur per `touch4-Button manipuliert.
Au_erdem erzeugt der Java-Compiler neuerdings in dem Order, der die Zielklassen enthdlt, Klassenhierarchien f|r com, sun und java. Dies f|hrt zu knapp 400 Klassen, die zusdtzlich zur eigentlichen Applikation oder zum Applet im Zielverzeichnis liegen. Wenngleich dies das Zielprogramm auch nicht zerstvrt, so bldht es den Ordner doch unnvtig auf. Warum die Library-Klassen immer kopiert werden, bleibt unklar, dies gilt insbesondere f|r die java.*-Hierarchie.
Doch diese Probleme sind nur kosmetischer Natur und behindern die Arbeit allenfalls leicht; echte Probleme scheint es nicht zu geben. Dies gilt sowohl f|r System 7.6.x und MacOS 8 als auch f|r Windows (getestet unter NT 4.0).
Endlich kann der Entwickler mehrere Projekte gleichzeitig vffnen und per Drag & Drop Teile aus einem Projekt in ein anderes kopieren. Fr|her mu_te man stets das aktuelle Projekt schlie_en, um ein neues zu vffnen.
Auch sdmtliche Werkzeugleisten lassen sich mittels Drag & Drop individuell zusammenstellen, wobei das System etwa 90 verschiedene Kommandos anbietet. Auf dem Mac werden diese Tools noch durch rund 25 AppleScripts erweitert, die so n|tzliche Dinge tun, wie etwa leere Template-Dateien generieren.
Bewegt man die Maus |ber ein Tool, so erscheint unter Windows wie |blich nach etwa einer Sekunde eine Kurzbeschreibung. Auf dem Mac bekommt man eine Balloon-Hilfe zu sehen, wenn man bei gedr|ckter Control-Taste auf ein Werkzeug zeigt.
Zur Unterst|tzung gro_er Projekte ist in die IDE bereits grundlegender Support f|r ein Version-Control-System (VCS) integriert, was ich mangels passender Software allerdings nicht testen konnte. Es wdre sehr erfreulich, wenn Metrowerks eine Light-Version ihres VCS beilegen w|rde. (Ein Mac-Port des GNU-VCS wdre |brigens eine lohnende Aufgabe f|r einen Shareware-Programmierer.)
Wdhrend in Microsofts VC++ sdmtliche Fenster der IDE immer von einem Rahmenfenster umgeben sind, erlaubt die CodeWarrior-IDE die Positionierung sdmtlicher Fenster unabhdngig voneinander. Letztere Strategie ist zwar eher Mac-typisch, f|r meinen Geschmack aber auch unter Windows wesentlich angenehmer in der Bedienung, da man so Fenster im Hintergrund problemlos lesen kann.
F|r Windows wird leider kein dquivalentes Produkt f|r den Entwurf MFC-basierter Oberfldchen mitgeliefert. Hier hinkt Metrowerks der Konkurrenz weit hinterher. Allein diese Tatsache wird viele Windows-Entwickler von einem Umstieg abhalten. Zwar ld_t sich mit MFC auch ohne GUI-Tool arbeiten, aber ein GUI-Editor spart doch enorm Zeit.
Au_erdem sind - allerdings nur auf Mac-Seite - der HighLevel-Debugger sowie eine neue Version des Programms ZoneRanger hervorzuheben: es erlaubt die Inspektion jener Speicherblvcke, die von laufenden Prozessen belegt sind. ZoneRangers Funktion memory leak friert die Anzahl aktuell belegter Pointer und Handles einer zu testenden Applikation ein. Per Purge und Compact kann man dann den Speicherstatus seit dem letzten Aufruf |berpr|fen.
Windows-Programmierern bietet das Paket ebenfalls eine stabile IDE mit gut funktionierenden Compilern. Aufgrund der veralteten MFC Release 4.2 und des fehlenden GUI-Werkzeugs kann das Produkt allerdings nicht mit Visual C++ mithalten. Solange solche Mdngel nicht behoben sind, braucht Metrowerks mit keinem gro_en Erfolg im Windows-Markt zu rechnen.
Da sich die IDE unter MacOS wie Windows gleich bedienen ld_t, eignet sich der CodeWarrior Pro gut f|r Entwickler, die f|r beide Welten programmieren - insbesondere f|r Mac-Entwickler, die in Zukunft auch Windows-Software schreiben wollen.
Allerdings ist weder das Projektformat austauschbar (beim Wechsel von einem OS zu einem anderen mu_ man Projekte stets neu zusammenstellen), noch gibt es irgendwelche Klassenbibliotheken zur plattform|bergreifenden Entwicklung. Allein durch die Integration eines Windows-Compilers in die Mac-IDE entsteht noch kein Windows-Programm - und umgekehrt.
Die Anzahl anderer Compiler, die man in die IDE integrieren kann, ist aber ohne Beispiel. Wer f|r MacOS, 32-Bit-Windows, Net Yaroze, PlayStation und PalmOS gleichzeitig entwickeln will, dem bietet Metrowerks alle erforderlichen Werkzeuge aus einer Hand.
\brigens kann man sich auf der Web-Site von Metrowerks stets |ber den aktuellen Stand aller Produkte informieren; der Server hdlt sowohl ausf|hrliche Release-Notes als auch Updates bereit: vorbildlich. Den WWW-Seiten des deutschen Distributors konnten wir entnehmen, da_ im Oktober bereits mit CodeWarrior Professional 2 zu rechnen ist - ab jetzt wird neu gezdhlt. (cm)
Hersteller | Metrowerks, Austin/Texas (http://www.metrowerks.com/) |
Anbieter | Promo Datentechnik, Hamburg (http://www.promo.de/) |
Mindestvoraussetzungen | Mac: 68020- oder PowerPC-CPU, 8 MByte RAM (16 empfohlen), MacOS System 7.1, 80 MByte Plattenplatz |
PC: 486- oder Pentium-CPU, 16 MByte RAM, Windows 95 oder NT 4.0, 80 MByte Plattenplatz | |
Preise (gerundet) | 1120 DM (inkl. einem Update nach 6 Monaten) |
890 DM (Update von alter Version) | |
299 DM (f|r den akademischen Bereich) | |
je 100 DM f|r gedruckte Doku: CW/MacOS, CW/Windows, PowerPlant |