14.10.2009

Forschungswoche - Objective-C/Cocoa - UPDATE

"Jedes Jahr eine neue Programmiersprache lernen" ist eine der gutgemeinten aber nur schwer zu beherzigenden Ratschläge, um als Entwickler immer auf dem Laufenden zu bleiben.

Besonder schwer fällt mir dies, wenn die neue Sprache mal wieder alles gelernte auf den Kopf stellt. Hatte ich mich gerade an die Simplizität von Ruby gewöhnt, so geht Objective-C und die Mac Programmierung eher in die entgegengesetzte Richtung - "Einfach" ist hier relativ.

Betrachtet man beispielsweise die Integration der Oberflächengestalltung in Interface Builder und XCode, so ist es sehr einfach eine Verknüpfung zwischen Schaltflächen in der GUI und Objekten im Quelltext herzustellen.


Schaut man sich allerdings den Code an, der in Objective-C dafür geschrieben werden muss, so ist es ungefähr das genaue gegenteil...


Hier ein paar Dinge die mich abschrecken:
  • Speicher muss (de-)alloziert werden, es gibt keine automatische Garbage-Collection
  • Es wird viel mit Pointern gearbeitet
  • Sehr verboser Programmierstil
  • Syntax weicht vom Standard ab
  • Eigentümliche Aufteilung zwischen Header- und Implementierungsdateien
Und ein paar Dinge die überall so sein sollten:
  • Integration von GUI und Code
  • Integration der Dokumentation in XCode
  • Generierung von Properties
Vielleicht werde ich in den 2 mir noch verbleibenden Tagen noch warm damit, ich kann es mir allerdings nicht wirklich vorstellen... MacRuby to the rescue!



UPDATE:

Nachdem ich nun noch ein wenig mehr über die OS X Entwicklung in dem wirklich exzellenten Buch Cocoa Programming for Mac OS X gelesen habe hat sich mein Eindruck erheblich verbessert.
Man erfährt dort bereits am Anfang, dass mit OS X 10.4 (sprich Tiger) eine automatischer Garbage-Collector eingeführt wurde! Mit dieser Information könnte man in dem E-Book, dass ich mir zu Gemüte geführt habe gleich die Hälfte aller Kapitel ersetzen...

Keine Kommentare: