Objective-C
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
muokkaaVuonna 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
muokkaaC++: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- ↑ 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)
- ↑ TIOBE Index for April 2021 tiobe.com. Viitattu 29.4.2021. (englanniksi)
- ↑ 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