Definition „ObjC (Programmiersprache)“

Was ist Objective-C?

| Autor / Redakteur: Ilan_r_r / Stephan Augsten

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 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.

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.

Kommentare werden geladen....

Kommentar zu diesem Artikel

Der Kommentar wird durch einen Redakteur geprüft und in Kürze freigeschaltet.

Anonym mitdiskutieren oder einloggen Anmelden

Avatar
Zur Wahrung unserer Interessen speichern wir zusätzlich zu den o.g. Informationen die IP-Adresse. Dies dient ausschließlich dem Zweck, dass Sie als Urheber des Kommentars identifiziert werden können. Rechtliche Grundlage ist die Wahrung berechtigter Interessen gem. Art 6 Abs 1 lit. f) DSGVO.
  1. Avatar
    Avatar
    Bearbeitet von am
    Bearbeitet von am
    1. Avatar
      Avatar
      Bearbeitet von am
      Bearbeitet von am

Kommentare werden geladen....

Kommentar melden

Melden Sie diesen Kommentar, wenn dieser nicht den Richtlinien entspricht.

Kommentar Freigeben

Der untenstehende Text wird an den Kommentator gesendet, falls dieser eine Email-hinterlegt hat.

Freigabe entfernen

Der untenstehende Text wird an den Kommentator gesendet, falls dieser eine Email-hinterlegt hat.

Aktuelle Beiträge zu diesem Thema

Was ist eine Cross-Platform App?

Definition „Plattformübergreifende App

Was ist eine Cross-Platform App?

Eine Cross-Platform App ist eine Anwendung, die auf verschiedenen Plattformen lauffähig ist. Tools und Frameworks für plattformübergreifendes Development helfen Entwicklern dabei, solche Anwendungen mit geringem Aufwand zu erstellen. lesen

Low Code und Rapid Application Development

Zwei Entwicklungsansätze in der Gegenüberstellung

Low Code und Rapid Application Development

Die Art der Softwareentwicklung unterliegt einem stetigen Wandel. Gefragt sind Ansätze, welche eine hohe Effizienz und dennoch eine sehr gute Qualität der Applikationen garantieren. Im Spannungsfeld zwischen Rapid Application Development und Low Code tut sich einiges. lesen

Welcher App-Typ für welches Szenario?

Wege zur App – Abkürzungen erwünscht

Welcher App-Typ für welches Szenario?

Apps für Android und iOS lassen sich auf verschiedenen Wegen erstellen. Eine Systematisierung ist hilfreich, um sich im technischen Dschungel zurecht zu finden. Bei der Time-To-Market können plattformübergreifende Techniken punkten. lesen

Mac für die Software-Entwicklung aufsetzen

Solution Stack unter macOS

Mac für die Software-Entwicklung aufsetzen

Mit Macbook, iMac und Co. können Entwickler nicht nur eine zuverlässige Hardware-Basis zurückgreifen, sondern auch Software für alle wichtigen Betriebssysteme entwickeln. Damit das reibungslos klappt, gibt es jedoch ein paar Dinge zu beachten. lesen

Development-Tools für macOS

Programmieren am Apple Mac

Development-Tools für macOS

Als vollwertiges Unix-System eignet sich macOS wunderbar für die Software-Entwicklung. Wir stellen einige Tools vor, mit denen das Programmieren leichter von der Hand geht. lesen

Typescript in Top 10 der Programmiersprachen

Javascript bei Entwicklern weiterhin am populärsten

Typescript in Top 10 der Programmiersprachen

Typescript taucht erstmals in den Top Ten der halbjährlichen RedMonk Programming Language Rankings auf. Die aktuelle Rangliste der beliebtesten Programmiersprachen basiert auf Daten von GitHub und Stack Overflow. lesen

Rapid Prototyping und Low-Code-Entwicklung

Kundenerlebnis in Eigenregie

Rapid Prototyping und Low-Code-Entwicklung

Rapid Prototyping erlaubt es, einen Software-Prototypen direkt mit Hilfe so genannter Low-Code-Plattformen zum produktionsreifen Endprodukt weiterentwickeln. Das Prinzip: Stets nah am Problem und in Zusammenarbeit mit dem Kunden. lesen

10 Open-Source-Tools für jedes Testszenario

Apps und Anwendungen aller Art analysieren

10 Open-Source-Tools für jedes Testszenario

Ob einfacher Syntax-Test für Skripte oder aufwändiger Blackbox-Test für komplexe Web-Anwendungen: Mit den passenden Tools geht das Testing flott und mit Freude von der Hand. Hier zeigen wir zehn Open-Source-Werkzeuge, die man kennen sollte. lesen

Wege zur App – nativ, hybrid oder fürs Web

Abkürzungen erwünscht

Wege zur App – nativ, hybrid oder fürs Web

Um Apps für Android und iOS zu erstellen, gibt es mittlerweile sehr viele Ansätze. Eine Systematisierung ist hilfreich, um sich im technischen Dschungel zurechtzufinden. Ebenso entscheidend ist es, wie effektiv die jeweilige Vorgehensweise ist, denn die Time-To-Market ist oft entscheidend. Hier können plattformübergreifende Techniken punkten. lesen

copyright

Dieser Beitrag ist urheberrechtlich geschützt. Sie wollen ihn für Ihre Zwecke verwenden? Kontaktieren Sie uns über: support.vogel.de/ (ID: 45698903 / Definitionen)