Mikä saa C-kielen näyttämään olio-kieleltä?

Vaikka akateemisen ohjelmistokehitysmaailman tällä hetkellä vallitseva ohjelmointiparadigma on olioperusteinen lähestymistapa, silti teollisuudessa käytetään vielä myös C-kieltä, ja C-ohjelmointi-työpaikkojakin on vielä saatavilla.

C ei ole olio-kieli, vaikka siinä on piirteitä ja viitteitä olio-kielistä oman tarkasteluni jälkeen. Esimerkiksi tietotyypin (Data Type) määrittelyyn käytettävä struct-avainsana muistuttaa esimerkiksi Javan luokan määrittelyä, mutta kuitenkaan se ei ole luokka, jonka ilmentymää voitaisiin luoda johonkin muistipaikkaan, ja oliokielien ominaisuus periytyminen puuttuu C:stä täysin. eli Data structurea ei voida periyttää tai kukaan ei voi periä sitä, toisin kuin taas C++:ssa on käytössä moniperinnöllisyys, ja Java-luokka voi periä ainoastaan yhden luokan, mutta voi toteuttaa (implements) rajattoman määrän rajapintoja.

Toinen seikka, joka saa joka viittaa oliokieliin C:ssä, on Pointterit (Pointers). Olio-kielissä, kuten Javassa esimerkiksi koodi lause :(String myNameIs = ”Jere Sumell”), joka vastaa koodilausetta ”String myNameIs = new String(”Jere Sumell”), koska Javassa String-tyyppiset muuttujat käsitetään oliomuuttujina, niin myNameIs sisältää ainoastaan viittauksen tietokoneen muistipaikkaan, jossa arvo ”Jere Sumell” sijaitsee fyysisesti, eikä siis sisällä suoraan arvoa. Vastaavasti, jos C-kielessä määritellään :(char[] myNameIs =”Jere Sumell”&), ja vielä käytetään pointteria ”realName* = myNameIs”, saavutetaan sama tulos, eli asetetaan realName -muuttujan arvoksi viittaus muistipaikkaan, jossa char-merkkitaulukko, joka sisältää merkit ”Jere Sumell” kukin omassa alkiossaan, saadaan vähän oliopiirteitä näkymään C:ssäkin.

Jos joku blogini seuraaja haluaa jatkaa C:n oliomaisia piirteitä esille tuoduksi, kommentteja kiitos.

About Jere Sumell

Graduated in February 2017 at the degree program of Bachleor of Business and Administration in Information Technology at Turku Univerity of Applied Sciences. At the end of the last semester I started to be a sole trader for my private projects and I'm officially taking public action in Politics through the Left Alliance in Finland. I'm the member of the Left Alliance Educational Division. I did the takedown my current business activities at the 31.5.2018 (Mostly responsive web developement orders based on CMS-solutions was the works some enterpeurers ordered from me.) I'm article writer in my Computer -related blog @ Wordpress. My first appearance at Wordpress blogs was our IT-student team blog called "The Gr8 Tigers".
This entry was posted in Blogi, Internet, Konekieli, Koulutus, Linux, Matematiikka, Ohjelmointi, Talous, Turvallisuus, Windows. Bookmark the permalink.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s