Objective C is een uitloper van de C programmeertaal, ontwikkeld in de jaren 1970 als een van de eerste hogere programmeertaal. Objective C omvat de syntaxis van C met de object-georiënteerde mogelijkheden van Smalltalk. Apple geïntegreerd zijn ontwikkelingskader, cacao, met Objective C programmeren op het Mac-besturingssysteem. Objective C is nuttig voor ontwikkelaars van Apple, maar het verliest sommige van zijn charme als een toepassing moet worden Kruis-noordwestelijke met een ander besturingssysteem. Objective C ondersteunt bovendien niet de 'naamruimten' functie van C++ (een ander uitloper van C), die helpt bij het omgaan met meerdere derden codebibliotheken en modules.
Ontwikkelingstaal voor populaire Platforms
Een voordeel van Objective C is dat het de primaire taal voor het ontwikkelen van toepassingen voor Apple producten. Objective C is de programmeertaal ontwikkeld specifiek om te werken met de cacao-programmeringskader, wat betekent dat het toegang tot de Apple bibliotheken heeft. Maken van toepassingen voor elk Apple product, zoals de iPod, iPad of OS X-systemen, vereist enige kennis van Objective C.
Objective C Runtime
C en C++ zijn "samengesteld" programmeertalen, wat betekent dat de broncode geschreven door de programmeur machine taal is vertaald, draait creëren van een uitvoerbaar bestand dat op het besturingssysteem van een gebruiker. Gecompileerde talen zijn beperkt in hoe ze werken: veel besluiten met betrekking tot geheugen toewijzing en objecten maken gebeuren in compileren, niet terwijl het programma wordt uitgevoerd (runtime). Een programma geschreven in Objective C is meer dynamisch, kunnen informatie verzamelen over zelf beslissingen met betrekking tot geheugen of gegevenstypen, in plaats van had beslissingen tijdens de codering van de tijd.
Naamruimten
Een nadeel van de programmering in Objective C is dat het geen naamruimten bevat. In andere talen, vooral C++, bevatten naamruimten functionaliteit gedefinieerd door een naam. Functies in een naamruimte bestaan alleen in het kader van die naamruimte, wat betekent dat een andere functie met een identieke naam in een andere naamruimte door de programmeur kan worden gebruikt zonder het wijzigen van namen. Dit kan programmeurs een aantal bibliotheken importeren en niet onnodig zorgen te maken over functienamen conflicterende. In Objective C, kan twee bibliotheken met de naam van de dezelfde functie importeren veroorzaken een fout als de programmer niet voorzichtig zijn, omdat de compiler geen manier heeft om te weten welke functie moet u eigenlijk roepen.
Draagbaarheid
Een ander nadeel van Objective C is dat het sterk afhankelijk van de cacao-kader voor de functionaliteit. Terwijl dit is een voordeel voor ontwikkelaars van Apple, Windows ontwikkelaars vindt niet hetzelfde succes Windows-toepassingen schrijven in doelstelling C. daarentegen Windows ontwikkeling richt zich op de bibliotheken van .NET, gekoppeld aan de Visual C++, C# of VB.NET programmeertalen. Apple ontwikkelaars moeten geen zorgen over dit nadeel, tenzij zij zijn op zoek naar platformonafhankelijke overdraagbaarheid.