Objective-C

Wikipedia
Loikkaa: valikkoon, hakuun

Objective-C -ohjelmointikieli on Brad J. Coxin 1980-luvun puolivälissä kehittämä ja nykyään Applen käyttämä ohjelmointikieli. Se on pieni oliolaajennus C-ohjelmointikieleen. Oliomalli on otettu Smalltalkista.

Objective-C:tä käytetään pääasiassa 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.

Objective-C:n kehittivät pääasiassa Brad 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.

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.

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 API:sta perustuu OpenStepiin ja se on nykyisin suurin Objective-C:tä käyttävä kehitysympäristö.

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.

Aiheesta muualla[muokkaa | muokkaa wikitekstiä]

Tämä tietotekniikkaan liittyvä artikkeli on tynkä. Voit auttaa Wikipediaa laajentamalla artikkelia.