LEO - Link Everything Online, Macintosh-Archiv - Macintosh FAQ | Sorry, no english version available. |
Der Macintosh-Programmierer muß, bevor er anfangen kann, eine Menge Geld ausgeben...
Wer das nicht kann und will, dem empfehle ich auf die schnelle: Programming Primer und Think Reference kaufen und loslegen. Bei Bedarf Inside Mac Bücher nachkaufen. Näheres folgt im Laufe dieses Abschnitts.
Die Inside Mac-Bände sind die Bibel des Mac-Programmierers. Die ursprünglichen Bände 1-6 gibt es nicht mehr. Inzwischen sind die "New Inside Mac" (NIM) erscheinen. Die neuen Bände sind thematisch (und nicht mehr historisch) sortiert und sind erheblich teurer - zwar nicht auf Grund des Preises (zwischen $20 und $40), sondern auf Grund der Anzahl... Wer alle Bände "braucht" bezahlt in Deutschland momentan ca. 1600,- DM. Viel Spaß... Folgende Bände sind verfügbar:
...und kann nur sagen: kaufen! (Natürlich nur die Bände, die man selbst auch braucht, denn alle zusammen sind doch recht teuer - s.o.) Durch diese Bücher kann man richtig was lernen. Mit vielen Beispielen, ausführlich und erheblich besser strukturiert als die alten Bände. Der Overview-Band ist übrigens ein guter Einstieg in die Mac-Programmierung.
Für QuickDraw GX (ist in System 7.5 eingebaut) gibt es noch:
QuickDraw GX ist eine Erweiterung des alten QuickDraw und enthält wohl Funktionen für so ziemlich jede grafische Operation im zweidimensionalen Raum (Grafiken, Texte u.s.w.)
Eine vergleichsweise günstige Lösung ist die NIM CD, die man im Buchhandel für ca. 220,- DM bekommen kann ($99.95 in den USA). Sie enthält alle NIMs auf einer CD! (ISBN 0-201-94611-4)
3D Graphics Programming with QuickDraw 3D (0-201-48926-0)
Diese Buch enthält auf CD-ROM die Version 1.0 von QuickDraw 3D und beschreibt die komplette Programmierschnittstelle von QD3D. Es entspricht einem NIM. Dieser Band ist nicht auf der NIM CD enthalten.
Advanced Color Imaging on the Mac OS (ISBN 0-201-48949-X)
Enthält die Kapitel Palette Manager, Color Picker Manager, ColorSync Manager, Color Manager. Eine CD-ROM mit Index und Beispielen liegt bei.
OpenDoc Programmer's Guide (ISBN 0-201-47954-0)
Wer etwas für OpenDoc entwickeln will, braucht dieses Buch. Auf der CD-ROM befindet sich ein Index über alle OpenDoc Funktionen.
Unbedingt sollte man sich die Human Interface Guidelines durchlesen und den Inhalt beim späteren Programmieren auch beachten. Dein Programm wäre nicht das erste Mac-Programm, welches wegen einer non-Standard-Oberfläche ein Flop wurde und in Zeitschriften deswegen verrissen würde. Die Human Interface Guidelines sollte man am besten auswendig lernen :-)
"Inside the Macintosh Communication Toolbox" (ISBN 0-201-57775-5) ist nur für die CTB (Communication Toolbox) nötig. Wer ein Terminal-Programm o.ä. schreiben will, braucht es. Wer nur mal die serielle Schnittstelle benutzen will, braucht es nicht unbedingt. Jedoch ermöglicht die CTB die Unterstützung von beliebig vielen seriellen Schnittstellen, so daß ich empfehle die CTB zu beachten.
Sehr interessant ist auch das monatliche Entwicklermailing von Apple. Es umfaßt mindestens eine CD pro Monat mit aktuellen MacOS-Versionen, Beispielsourcen, Dokus, TechNotes u.v.a.m. Jedem Programmierer sehr zu empfehlen. Preis: etwa 450,- DM pro Jahr - dieses Mailing kann jeder bekommen, es ist nicht mit einer Registrierung als offizieller Entwickler bei Apple zu verwechseln.
Die Anschrift von Apple (zum Bestellen der Entwickler-Mailings) Apple Entwicklerprogramm:
Apple Computer GmbH
Entwicklerprogramm
Gutenbergstraþe 1
85737 Ismaning
Tel: 089-99640-534
Fax: 089-99640-260
Internet: dev.admin@applelink.apple.com
Die Anschrift des deutschen APDA lautet übrigens:
Promo Datentechnik + Systemberatung GmbH
- APDA-Service -
Waterloohain 6-8
22769 Hamburg
Tel: 040-431360-66
Fax: 040-431360-60
AppleLink: GER.APDA
Internet: info@Promo.de
Volume I (ISBN 0-201-60838-3)
Volume II (ISBN 0-201-57016-5)
Das Lehrbuch zum Einstieg in die Mac-Programmierung. Hier wird an kleinen Beispielen gezeigt, was den Mac von anderen Rechnern unterscheidet. Am Ende der Lektüre kann man einfache Macintosh-Programme schreiben. Die meisten Leute, die ich kenne, haben irgendwann mal mit diesem Buch (bzw. Büchern, es gibt jetzt zwei Bände) angefangen (ich auch...). Das Buch benötigt den Think C Compiler (siehe weiter unten).
(ISBN 0-201-57084-X)
Dieses Buch entspricht inhaltlich exakt dem C Primer, ist jedoch für Think Pascal Programmierer gedacht.
(ISBN 0-201-58134-5)
Das Kultbuch für Programmierer. Eine gute Einführung in die Macintosh Programmierung, aber auch für Fortgeschrittene ein ganz tolles Buch. Zudem sehr witzig geschrieben.
(ISBN 0-201-57019-X)
Das Buch, für den der alles (insbesondere Farbe) aus QuickDraw rausholen will.
(ISBN 0-201-55075-X)
Eine Beschreibung vom ResEdit - dem Resource-Editor für den Mac, ein absolutes Standard-Werkzeug von jedem Programmierer, Steht an sich alles darin, sogar wie man den ResEdit selbst erweitern kann. Als Beigabe liegt eine Diskette mit dem aktuellen ResEdit bei (nicht bei allen "Versionen" des Buches, es gibt wohl auch eine billigere Version ohne Diskette, falls man den ResEdit schon hat).
(ISBN 0-201-56767-9)
Die Buch ist natürlich ähnlich wie das 'ResEdit Complete' aufgebaut ist und erläutert detailliert die Arbeit des Debuggens von Programmen und die Bedienung des Debuggers.
Learn C on the Macintosh (ISBN 0-201-56785-7)
Learn C++ on the Macintosh (ISBN 0-201-62204-1)
Wer noch kein C bzw. C++ kann: Hier hat er die Möglichkeit es zu lernen. Dem Buch liegt eine Diskette mit "Thin C" bzw. "Thin C++", einer abgemagerten Version von "Think C" (einem der bekanntesten C Compiler für den Mac) bei (nur die Standard-Funktionen (stdio) und einige Mac-Funktionen, zudem fehlt die Möglichkeit einzeln lauffähigen Programmcode zu erstellen; kurzum: nur sehr eingeschränkt zu verwenden, zum Lernen von der Programmiersprache C aber ideal.)
(ISBN 0-56830-091-3)
Das Buch ist ein idealer Einstieg in die Programmierung auf dem Mac - speziell dem PowerMac - mit Metrowerks CodeWarrior. Es beschreibt den Einstieg in die Benutzung des C++ Compilers und vieles mehr. Und als Highlight liegt eine CD mit einer eingeschränkten Version vom CodeWarrior bei. Die Version kann keine neuen Projektdateien erzeugen bzw. man kann keine neuen Sourcen zufügen, aber man kann damit prima rumspielen und die ganzen Beispiele durchgehen. Das Buch kostet ca. 80,- DM.
(ISBN 3-540-54910-2)
Quasi das einzige deutschsprachige Buch zum Thema Programmieren auf dem Mac. Incl Diskette ist es mit DM 89,- sicher nicht ganz billig, meiner Meinung nach aber ganz gut strukturiert. Leider sehr MPW-Lastig, dadurch für Anfänger mit CodeWarrior oder Symantec C++ (und das dürften die meisten sein) nicht besonders zu empfehlen.
(ISBN 0-679-79148-5)
Wohl das Standardwerk zum Thema AppleScript. Mit guten Beispielen und Referenzteil. Inzwischen schon in der 3. Auflage.
Kommt direkt von Apple. Ca. 100 Seiten Umfang. Keine Werbung darin, nur (teilweise sehr) anspruchsvolle Artikel zu bestimmten Themen. Zu jeder Ausgabe gehört eine CD mit den Beispielcodes. Die Zeitschrift (incl. aller bisherigen Ausgaben, sowie der TechNotes und aller Beispielcodes) ist auch im Adobe Acrobat-Format auf der CD, bzw. im Entwickler-Mailing enthalten. Preis je Ausgabe: ca 25,- DM.
(vormals MacTutor)
Eine Zeitschrift voll mit Sourcecodes, in denen sich immer wieder was tolles finden läßt. Zudem nur Artikel über Belange, die Entwickler wirklich betreffen (das gilt sogar für alle Anzeigen, die in der Zeitschrift stehen :-) Das Abo kostet in Deutschland ca. 150-170,- DM - je nach Dollar-Kurs. Näheres zum Inhalt der MacTech und zum Abo der Zeitschrift findet sich auf dem MacTech WWW-Server.
Eine neue Zeitschrift für Mac-Programmierer, auch ich schreibe dort jeden Monat einen Artikel über Mac-Programmierung :-) In der Ausgabe 5/96 z.B. über die Kontrollfelder und die Kommunikation mit der dazugehörigen Systemerweiterung.
Fast alle. Viele sogar als PD bzw. Freeware. Bei uns in der Box liegen mindestens ein C-Compiler, ein Assembler, ein Modula-Compiler und das letzte Machwerk vom Wirth: Oberon. Zudem noch eine Menge anderer Sprachen, von denen man nie was gehört hat, und nie wieder hören wird.
Wer mal etwas rumspielen will, kann eventuell mit solchen Compilern "arbeiten", aber ich rate dringend davon ab. Diese Compiler sind nie auf dem neuesten Stand und stets unvollständig. Zudem trifft man auf Probleme, die man mit "richtigen" Compilern nie hätte.
Die Standard-Programmiersprache für den Mac ist C bzw. C++. Das MacOS (der Teil im ROM) ist nahezu komplett in Assembler geschrieben, der Teil im RAM ist großteils in C bzw. C++ geschrieben. Es ist dringend abzuraten, komplette Programme in Assembler zu schreiben - sowas "erleichtert" nicht gerade die Entwicklung für 68k und PowerMacs :-)
Wer nicht weiß, ob er in C bzw. C++ oder Pascal bzw. Modula auf dem Mac programmieren soll, der nehme C bzw. C++. Think Pascal wird es für PowerMacintosh nicht mehr geben, Metrowerks Pascal ist allerdings in der CW4 Version für PowerMacintosh verfügbar. Der Nachteil von Pascal liegt darin, daß Apple den Support für Pascal einstellen wird, d.h. man muß sich die Headerfiles für neue Systemfunktionen selbst zusammenbasteln als C-Programmierer kann man Updates dagegen leicht erhalten.
Das Standardentwicklungssystem für das MacOS! Der CodeWarrior umfaßt neben einem C bzw. C++ Compiler auch einen Pascal-Compiler, sowie einen Source-Code Debugger und eine eigene Klassenlibrary (PowerPlant genannt mit Construtor zum Entwerfen von Dialogboxen etc.). Der Compiler ist mehr als doppelt so schnell wie Think C und erzeugt dabei sogar noch besseren Code. Im Paket ebenfalls enthalten ist die MPW-Shell, ResEdit, MacsBug, Profiler, der SourceServer und der ToolServer von Apple. Ein Projekt von ca. 70000 Zeilen habe ich in ca. 2 Tagen von Symantec C auf Metrowerks umgestellt und bei der Gelegenheit auch gleich an den PowerMac angepaßt. Gerüchten zur Folge sind übrigens diverse Symantec Think C Entwickler zu Metrowerks gewechselt. Das sieht man dem Compiler auch an: die Oberfläche ist quasi identisch mit der von Think C - kurzum: die haben geklaut wie die Raben :-) Allerdings wurden diverse Kleinigkeiten verbessert. Die Shell gibt es übrigens sogar in einer deutschen Version.
Den CodeWarrior gibt es in drei Ausführungen:
Die Preise liegen bei $149 und $399. In Deutschland sind sie z.B. bei Panda Soft, MacWarehouse, InnoTech oder Promo zu erhalten.
Das CodeWarrior Paket wird nur auf CD und ohne Handbücher geliefert (alle Handbücher sind auf der CD enthalten). Updates kommen regelmäßig (alle drei bis vier Monate) und sind ein Jahr lang kostenlos. Zwischenupdates mit Bugfixes und auch neuen Features findet man direkt auf Metrowerks WWW Server.
Studenten bezahlen auch bei Metrowerks weniger als 200,- DM für die Gold-Version. Die Bronze Version kostet knapp über 100,- DM.
Die Zeitschrift MacTech bietet ein recht interessantes Angebot: für $399 gibt es die Gold Edition und MacTech für ein Jahr. (Bronze = $149 + 1/2 Jahr Abo; Discover Programming = $79 + 1/4 Jahr Abo) Wenn man bedenkt, daß das MacTech Abo immerhin ca. 170,- DM kostet und sehr lohnenswert ist, ein sehr gutes Angebot.
Think C hatte sich in den letzten Jahren zu dem Standard-Compiler für den Macintosh entwickelt. Das lag zum einen an der fehlenden Konkurrenz (lediglich Apples MPW gab es - und die MPW ist groß, langsam und umständlich), zum anderen an der sehr angenehmen Bedienung. Bei Think C ist Editor und Compiler eine Einheit. Schnell zu bedienen und auch recht flott bei der Übersetzung. Think C enthält zwei Compiler (einen ANSI-C und einen C++ Compiler). Weitere Compiler (z.B. für .r-Resource-Dateien) gehören auch dazu, sind aber wohl nicht unbedingt als "echte" Compiler zu bezeichnen. Ferner gibt es den SourceServer, d.h. man kann mit mehren Leuten an einem Projekt werkeln ohne sich in die Quere zu kommen (Source-Code-Kontroll-System). Die ANSI-Library gibt es jetzt entsprechend in zwei Versionen: eine für C++, eine für ANSI-C. Beide sind komplett im Source enthalten. Auch gibt es eine komplette Klassenlibrary (TCL 2.0 incl. grafischem Editor für das Erstellen von Fenstern und Dialogen - TCL 2.0 setzt C++ voraus) für C bzw. C++. Der Source-Code-Debugger entspricht im wesentlichen dem von Think C 5.0, kann jedoch auch mit C++ Features umgehen. Auch der Inline-Assembler und der Profiler sind in etwa gleich geblieben. Think C benötigt minimal 5MB RAM, damit kann man allerdings kaum sinnvoll arbeiten, 8MB (besser 16MB) sind eher zu empfehlen. Das komplette Paket belegt auf der Platte bis zu 20MB. Man kann aber - dank Apples Installer - das Paket nahezu beliebig zusammenkürzen (bis auf etwa 4-5 MB) - Preis 695,- DM
Neu in der 8.0 Version: PowerPC Support, neuer Visual Architect, neue Projektverwaltung. Update von der 7.0 auf die 8.0 ist kostenlos - nur PowerPC Support fehlt. Das vollständige Update kostet $149.95 und umfaßt 3 CD-ROM-Updates im ersten Jahr.
Den Nachteil vom Symantec Compiler sollte man nicht verschweigen: der Support ist lausig bzw. kostenpflichtig! In den Support Brettern werden schon Fragen gestellt wie: "Ist noch jemand hier?"
Schüler/Studenten bekommen ebenfalls Rabatt. Also unbedingt mit Rabatt kaufen, wenn man Schüler oder Student ist.
Das umfassendste Entwicklungspaket, das ich kenne. Mindestens 1m im Regal DIN A4 Ordner. Mit C, C++ und Pascal-Compiler (auch objektorientiert), Assembler (68k und PowerPC), Projektverwaltung, MPW-Shell (mit sehr leistungsfähiger Script-Sprache und Editor), einer sehr umfangreichen Klassenlibrary, low-level-Debugger, Source-Code-Debugger, ResEdit u.s.w.
Das Paket für alle, die mit dem LKW zum Einkaufen fahren. (Groß und sehr langsam). Unter einem Quadra, 32MB RAM, großer Platte und CD-Laufwerk (ist nötig, das Teil paßt nur auf CD) ist nichts zu machen. Wer näheres wissen will: die C't hatte fast ein Jahr lang monatlich einen mehrseitigen Bericht über MPW...
Preis 400-500,- DM (E.T.O.)
Alles, was Think C auch hat (auch die Klassen-Library, jedoch keinen Inline-Assembler), zusätzlich jedoch mit einem automatischen Syntax-Check bei der Eingabe und der automatischen Formatierung des Sourcetextes. Auch hat er diverse Erweiterungen in der Library, so z.B. Bitoperationen u.v.a.m. Und der beste Source-Code-Debugger, den ich kenne: man kann im Sourcetext Breakpoints setzen, kann in einem Befehlswindow während des Debuggens Befehle eingeben (z.B. "writeln('Hallo Welt');"), die sofort ausgeführt werden. Think Pascal wird nur noch als Restposten verkauft.
Eine integrierte Entwicklungsumgebung, incl. Compiler, Editor, Debugger. Ferner gehören noch fast 1000 Seiten Dokumentation zum Paket. Und der Compiler kostet - und jetzt festhalten - nur 69,- DM. (Modula und Pascal zusammen kosten 99,- DM) Das Paket ist nach Angaben von einigen Leuten aus dem MausNet sogar nicht mal schlecht, die Programme werden jedoch nicht weiterentwickelt - der Hersteller verkauft nun den CodeWarrior (siehe oben).
In eine ganz andere Richtung gehen VIP-C bzw. VIP-Basic (Preis: ca. 900,- DM bzw. ca. 500,- DM). Das Paket ermöglicht das sehr schnelle Entwickeln von Programmen mit Hilfe von einem Framework und integrierten Resource-Editoren. Neben dem Sourcecode wird zudem immer ein Flußdiagramm vom entsprechenden Code dargestellt. Auch ein Debugger, sowie eine sehr mächtige Library gehören zu diesem Paket. Quasi genau etwas für jemandem, dem die Materie der Macintosh Programmierung zu umständlich erscheint. Allerdings benötigt man für die Compilierung des C-Codes anscheinend noch Think C bzw. MPW-C, die man dann extra erwerben muß, sonst erzeugt man Versionen mit Runtime-Code (langsamer, aber lauffähig)
Früher wurde es den Macs noch beigelegt, inzwischen muß man HyperCard kaufen. HyperCard ist quasi das "Basic" des Macintosh - nur viel moderner - es basiert auf einer Datenbank die wie ein Karteikasten angeordnet sind, zwischen denen man per Buttons etc. hin- und herspringen kann. Es ist sehr beliebt für Multi-Media Anwendungen, aber auch kleinere Programme kann man damit erstellen. Farbeinbindung ist in der aktuellen 2.2 Version jedoch nur sehr aufwendig zu machen. Wer sich für HyperCard interessiert, kann sich ja mal im Buchladen umsehen: es gibt reichlich Literatur zu HyperCard. Preis: etwas über 200,- DM.
Drei wichtige Programme braucht ein Programmierer unbedingt, zwei sind von Apple und in diversen Mailboxen zu erhalten, das dritte stammt von Symantec (Preis: ca. 250,- DM) bzw. von Addison-Wesley. Die anderen sind quasi "optional" :-)
Dies ist ein Editor für Dialogboxen, Menüs und sämtliche anderen Resourcen, die der Mac so kennt. extrem leistungsfähig. Ein Muß! Für den ResEdit gibt es diverse Erweiterungsmodule, so z.B. Editoren für SIZE-Resourcen u.a.m. Besondere Beachtung verdient der CODE-Viewer, der es ermöglicht alle Module mit Programmcode disassembliert darzustellen und per Mausklick durch diesen Code zu springen. Preis: ca. 60,- DM (Anleitung), man kann aber auch das Buch ResEdit Complete kaufen, dort liegt er auch bei. Ebenso bei fast allen Programmiersprachen (CodeWarrior, Think C, MPW etc.)
<URL:xSaug://HH2/RESEDIT_.SIT>
(ResEdit 2.1.3)
Dies ist ein Low-Level-Debugger, der bei härteren Abstürzen bei der Fehlersuche hilft. Alles, was man braucht, ist vorhanden, die Befehle sind allerdings gewöhnungsbedürftig. Eigene Befehle sind einbindbar, reichlich fremde "dcmd"s gibt es z.B. in Mailboxen. Preis: ca. 60,- DM mit Anleitung und Discipline (s.u.); in einer MacTutor (September 91) stand aber auch mal eine gute Anleitung.
<URL:xSaug://HH2/MBUG653.SIT>
(MacsBug 6.5.3)
Eine Datenbank über die Betriebssystemaufrufe ähnlich Think Reference - nur neuer und viel umfangreicher - enthält u.a. Hilfe zu AOCE, QuickDraw GX und QuickTime! (ISBN 0-201-48342-4, CD-ROM, $99.95)
Dies ist von der gleichen Firma, die Think C und Think Pascal programmiert hat. Eine Online-"Datenbank" zu allen Betriebssystemaufrufen und -strukturen aus Inside Mac Band 1-6 (seit Version 2.0 von Think Reference). TR spart einem Stunden des Suchens im Inside Mac... Inzwischen aber leicht überaltert, da von Systemantic leider in den letzten Jahren keine Updates erschienen. Gerüchten zur Folge soll aber an einer neuen Version gearbeitet werden.
Zuschlagen sollte man beim Angebot der MacTech: für nur US$49 erhält man ein komplettes Think Reference, inkl. der 10 Jahrgänge der MacTech - ebenfalls im Think Reference Format! Dazu alle Listings. Alles auf einer CD-ROM. Näheres auf dem MacTech WWW-Server.
BTW: Von der MacTech gibt es inzwischen den "THINK Reference Viewer 2.1", welcher eine neuere Version der Software ist (z.B. ist er nun PowerPC-native).
Dieses Programm erstellt aus einem fertigen Programm eine Text-Datei mit allen Texten im Programm. Man übersetzt diese Text-Datei und kann mit einem weiteren AppleGlot-Lauf eine fremdsprachige Version erzeugen. Dies funktioniert auch, wenn man Dialogboxen hinzufügt oder löscht. Preis: auf Apple Entwickler CDs enthalten.
Das Buch erklärt ausführlich das Erstellen von eigenen Hilfetexten für System 7.5. Ein Compiler für die Hilfetexte und viele Beispiele befinden sich auf der CD-ROM. (ISBN 0-201-48334-3, CD-ROM)
Dieses Programm stellt wohl die einzige Möglichkeit dar, sinnvoll Balloon Help (aktive Hilfe) in Programmen zu implementieren. Man ruft vom Balloon Writer das Programm auf und - quasi per Teach-In - bringt man ihm Dialogbox für Dialogbox bei. Preis: $60
Die professionelle Version des ResEdit. Ist dem ResEdit in quasi allen Belangen meilenweit überlegen (man kann AppleEvents definieren, Balloon Help erzeugen, selbst PICT-Resourcen kann man editieren), leider mit $256 nicht billig (Studenten zahlen die Hälfte, Mengenrabatt ist möglich). Im Herbst wird eine Version 2.0 erwartet. Auch hier gibt es eine Demoversion:
<URL:xSaug://HH2/RESOURCE.SIT>
Der professionelle Editor für den C/C++/Pascal/Modula-2 Entwickler. Es gibt nichts, was nicht konfigurierbar ist. Voll AppleScript-fähig. Mit allem was das Herz eines Programmierers sich erträumen kann. Es gibt eine "normale" Version (für Symantec und Metrowerks-C++ Compiler) und eine "Universal" Version, die zusätzlich Pascal und Modula-2 als Sprachen und MPW als Compiler unterstützt. Die kleine Version kostet deutlich weniger. Nachteil: beide sind teuer (400-500,- DM bzw. 800,- DM). Die Demo ist mit >2MB jedoch recht lang:
<URL:xSaug://HH2/OBJECTMA.SIT>
Einige Features finden sich inzwischen aber auch in den aktuellen Entwicklungstools (Metrowerks, Symantec).