Objective-C

Objective-C on olio-ohjelmointia tukeva ohjelmointikieli joka on toteutettu pienenä oliopohjaisena laajennuksena C-ohjelmointikieleen. Kielen oliomalli perustuu Smalltalkiin.
Kieli on ollut pääasiallinen kieli Applen OS X ja iOS -alustoille ja niiden rajapinnoille. Vuodesta 2014 lähtien kielen suosio on laskenut Applen ilmoitettua, että Swift-kieli tulisi korvaamaan Objective-C:n.

Objective-C:n kehittivät pääasiassa Brad J. Cox ja Tom Love 1980-luvun alussa Stepstone-yhtiössään. Molemmat olivat tutustuneet Smalltalkiin ITT Technical Instituten ohjelmistotekniikkakeskuksessa 1981. Cox alkoi lisätä C-kääntäjään ominaisuuksia Smalltalkista. Loven puolestaan palkkasi Schlumberger Research 1982. He perustivat myöhemmin Productivity Products Internationalin myymään tuotettaan.

Cox julkaisi kielen kuvauksen 1986 kirjassaan Object-Oriented Programming, An Evolutionary Approach.

Objective-C:n Smalltalk-perusta näkyy syntaksissa ja käytettävässä termistössä. Siinä missä Simulasta objektimallinsa lainanneessa C++:ssa kutsutaan luokan jäsenfunktioita, Objective-C:ssä niille lähetetään viestejä. Objective-C:ssa metodeille käytetään aina ajonaikaista sidontaa.

Käyttökohteet 
Vuonna 1988 Applelta lähteneen Steve Jobsin NeXT lisensoi Objective-C:n StepStonelta ja julkaisi kääntäjän ja kirjastot, joihin NeXTStepin käyttöliittymä perustui, sekä käyttöliittymäeditorin.

Objective-C:tä käytetään Mac OS X, iOS ja GNUstep -ympäristöissä, jotka molemmat perustuvat OpenStep-standardiin. Tämä käyttö on peräisin NeXTSTEP-käyttöjärjestelmästä, joka oli perustana Applen uuden sukupolven käyttöjärjestelmälle. GNU-projektin GCC sisältää Objective-C-kääntäjän.

Eräät NeXTStepin käyttöliittymään ihastuneet vapaiden ohjelmistojen puolestapuhujat alkoivat kehittää omaan versiotaan avoimeen OpenStep-standardiin perustuvasta käyttöliittymästä 1990-luvun alkupuolella. Dennis Glatting kirjoitti GNU-projektin gnu-objc-kirjastot 1992.

Apple osti NeXTin vuonna 1996 ja käytti OpenStepia uuden Mac OS X -käyttöjärjestelmänsä perustana. Suurin osa Applen Cocoa-rajapinnasta perustuu OpenStepiin ja se on nykyisin suurin Objective-C:tä käyttävä kehitysympäristö.

Apple haluaa päästä eroon Objective-C:stä ja on kehittänyt sen korvaajaksi Swift-ohjelmointikielen.

Esimerkki 
C++:n tapainen kutsu olion metodiin ja argumentin välittäminen sille:

objekti->metodi(argumentti);

Objective-C:ssä vastaava kutsu olion metodiin ja argumentin välittäminen sille:

[objekti metodi:argumentti];

Lähteet

Aiheesta muualla 
 Introduction to The Objective-C Programming Language (Apple)

Kirjallisuutta 
 

C-sukuiset ohjelmointikielet
Vuoden 1986 ohjelmistot
1980-luvun ohjelmointikielet