Objective-C

ohjelmointikieli

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

Objective-C
Paradigma olio-ohjelmointi
Yleinen suoritusmalli käännetty
Muistinhallinta manuaalinen
Kehittäjä Brad J. Cox
Merkittävimmät toteutukset GCC, LLVM/Clang
Vaikutteet C, Smalltalk
Käyttöjärjestelmä Alustariippumaton

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

muokkaa

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.[3]

Esimerkki

muokkaa

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

muokkaa
  1. a b c Gaurav Jindal & Tanu Goel & Pooja Khurana: Comparative study of C, Objective C, C++ programming language tammikuu 2013. ResearchGate. Viitattu 8.7.2019. (englanniksi)
  2. TIOBE Index for April 2021 tiobe.com. Viitattu 29.4.2021. (englanniksi)
  3. 5 Programming Languages That Are Probably Doomed 29.7.2019. DICE.

Kirjallisuutta

muokkaa
  • Cox, Brad J. & Novobilski, Andrew: Object-Oriented Programming; An Evolutionary Approach. (2nd Edition) Addison-Wesley, 1991. ISBN 0201548348

Aiheesta muualla

muokkaa