Definition „ObjC (Programmiersprache)“ Was ist Objective-C?

Autor / Redakteur: Ilan_r_r / Stephan Augsten

Die Programmiersprache Objective-C ist eine Erweiterung der Programmiersprache C, um diese für die objektorientierte Programmierung zu öffnen. Die 1984 erschienene Erweiterung ist vor allem für Cocoa und GNUstep gebräuchlich und an Smalltalk angelehnt.

Anbieter zum Thema

Die Objective-C-Dokumentation im Developer-Bereich von Apple beschreibt sehr anschaulich das Konzept der Objektorientierung und die Programmiersprache selbst.
Die Objective-C-Dokumentation im Developer-Bereich von Apple beschreibt sehr anschaulich das Konzept der Objektorientierung und die Programmiersprache selbst.
(Bild: developer.apple.com)

Die Programmiersprache Objective-C wurde im Jahr 1984 erstmals veröffentlicht. Entwickelt wurde Objective-C zum größten Teil von den Entwicklern Brad Cox und Tom Love, welche die Programmiersprache C um weitere Funktionen ergänzen wollten. Vom Unternehmen NeXT wurde die Programmiersprache Objective-C in die GNU Compiler Collection integriert, wo sie heute noch immer zu finden ist.

Allerdings wurde NeXT von der Firma Apple übernommen, welche die Weiterentwicklung von Objective-C übernahm. So wurde unter anderem im Jahr 2006 die Freigabe von Objective-C 2.0 bekanntgegeben – ein enorm großer Versionssprung, welcher die Leistungsfähigkeit der Programmiersprache deutlich verbessern konnte.

Allerdings, und diese Einschränkung muss gemacht werden, wird Objective-C hauptsächlich und beinahe ausschließlich auf der Cocoa-Plattform in Max OS X genutzt. Weitere Anwendungsfälle sind eher selten zu beobachten.

Gute Gründe für die Wahl von Objective-C durch Apple

Die Firma Apple setzt bei der objektorientierten Programmierung hauptsächlich auf die Programmiersprache Objective-C. Dafür gibt es durchaus gute Gründe. Denn der Aufbau der Sprache von Objective-C ist beispielsweise deutlich einfacher als der Aufbau der direkten Konkurrenz C++.

Objective-C bietet zudem ein äußerst elegantes und einfaches Design und ist somit in vielerlei Hinsicht deutlich einfacher in der Anwendung und in vielen Bereichen auch mächtiger als die Konkurrenz. Dass C++ dennoch als Sieger aus dem Rennen um die allgemeine Beliebtheit hervorging, lag vor allem daran, dass bei der Entwicklung von C++ stärker Wert auf spektakuläre Aspekte gesetzt wurde.

Die wichtigsten Eigenschaften der Programmiersprache

Eines der wichtigsten Ziele bei der Entwicklung von Objective-C war eine Annäherung an die Programmiersprache Smalltalk, um die Programmierung in C deutlich flexibler zu gestalten. Dabei wurde unter anderem auf die Smalltalk-üblichen Blöcke verzichtet, sodass die Kompilierung von Programmen in Objective-C deutlich schneller erledigt werden konnte.

Die Programmiersprache verzichtet außerdem in vielen Bereichen auf eine eigene Sprachdefinition, sondern bindet diese über die entsprechenden Frameworks ein. Dies ist unter anderem einer der Gründe, aus denen Objective-C im Massenmarkt nicht akzeptiert wurde.

Objective-C und die Weiterentwicklung

Es gab grundsätzlich mehrere Ansätze, um Objective-C zu erweitern und zu verbessern. Bekannt sind unter anderem Objective-C++, bei welchem die Programmiersprache C++ um die Erweiterungen von Objective-C ergänzt wurde. Allerdings führte diese Lösung zu einigen deutlichen Einschränkungen, weswegen Objective-C++ nur selten eingesetzt wird.

Die wichtigste Erweiterung für Objective-C war die 2007 eingeführte Erweiterung und Verbesserung Objective-C 2.0, welche Objective-C unter anderem durch eine Garbage Collection, 64-Bit-Unterstützung und eine Verbesserung der Laufzeitleistung erweiterte.

Objective-C im Vergleich mit der Konkurrenz

Im direkten Vergleich ist Objective-C nur mit der Programmiersprache C++ vergleichbar, da beide auf der gleichen Grundlage aufbauen. Allerdings haben sich beide Programmiersprachen so stark voneinander weg entwickelt, dass Gemeinsamkeiten nur noch marginal zu erkennen sind. Während Objective-C vornehmlich nur noch von Apple genutzt wird, gehört C++ auch heute noch zu den beliebtesten Programmiersprachen der Welt und erfreut sich reger Verbreitung.

Artikelfiles und Artikellinks

(ID:45698903)