Hyppää pääsisältöön

Koodi on kaikkialla – lyhyt johdatus ohjelmoinnin maailmaan

Televisio, jossa koodia.
Televisio, jossa koodia. Kuva: Yle/Annukka Palmén-Väisänen Koodi,tietokonekielet,televisio (joukkoviestimet),suoratoisto

Elokuvissa näemme usein hulluja koodareita, jotka silmät kiiluen hakkaavat tietokoneelle yötä myöten käsittämättömiä komentorivejä toisensa perään. Oikeasti koodaaminen eli tietokoneohjelmointi ei ole lainkaan noin mystistä. Se on oikeastaan vain yksityiskohtaisten ohjeiden antamista tietokoneelle.

Mitä ohjelmointi on?

Nykyisin ohjelmakoodia on kaikkialla. Tietokoneiden, tablettien ja älykännyköiden lisäksi esimerkiksi jääkaapeissa, liesissä, ilmalämpöpumpuissa ja autoissa. Koodin määrä elämässämme lisääntyy koko ajan, vaikka emme sitä ehkä huomaakaan.

Esimerkiksi uusimmissa Fordin automalleissa on ohjelmakoodia jopa 150 miljoonaa riviä. Ilman ohjelmistoja kaikki tietokoneet ja muut älylaitteet ovatkin vain hyödytön kasa elektroniikkaa.

Ohjelmointi ei ole lainkaan mystistä. Siinä vain annetaan tietokoneelle tarkka toimintaohje eli algoritmi, jonka avulla se tekee halutun asian. Tietokoneohjelma voi esimerkiksi vähentää palkastasi verot ja sivukulut ja laskea näin käteen jäävän nettopalkan. Tätä tarkoitusta varten tietokone tarvitsee tiedon veroprosentistasi sekä sivukuluista ja käskyn, että ne pitää vähentää alkuperäisestä luvusta.

Koska tietokone ei suoraan ymmärrä ihmisen ohjeita, täytyy ohjeet kirjoittaa jollakin tietokoneen ymmärtämällä ohjelmointikielellä. Tällaisia nykyään yleisesti käytettyjä ohjelmointikieliä ovat mm Python, Java, C++ ja Ruby.

Yksinkertainen esimerkki: Piirrä ympyrä

Yksinkertaisuuden takaamiseksi käytössä on suomalainen Turtle Roy -ohjelmointikieli, jota käytetään mm. lapsille suunnatuissa koodikouluissa.

YMPYRÄN PIIRTÄMISEEN TARVITTAVAT KOMENNOT
fd = mene eteenpäin (forward)
lt = käänny vasemmalle (left turn)
sequence = ketjuta
repeat = toista

Ympyrä piirretään antamalla 360 kertaa komenot mene eteenpäin 1 pikseli fd 1 ja käänny yksi aste vasemmalle lt 1.

Mutta koska nämä kaksi tehdään aina peräkkäin, voidaan ne yhdistää sekvenssiksi

sequence [fd 1, lt 1]

Nyt olemme ohjelmoineet pätkän, jossa tietokonetta ohjeistetaan menemään 1 pikseli eteenpäin ja kääntymään sen jälkeen 1 aste vasemmalle. Jos kyseisen koodin antaa 360 kertaa, niin kone on piirtänyt ympyrän. Koska kukaan ei halua toistaa koodia, niin ohjelmoimme koneen toistamaan koodin 360 kertaa

repeat 360 (sequence [fd 1, lt 1])

Koodi on valmis!

Kokeile koodia Turtle Royssa

Ilman ohjelmistoja kaikki tietokoneet ja muut älylaitteet ovat vain hyödytön kasa elektroniikkaa.

Usein vaaditun tehtävän suorittamiseen tarvitaan erilaisia ehtolausekkeita, vertailuja ja toistolausekkeita.

Muutamia esimerkkejä tällaisista lausekkeista liittyy vaikkapa nopanheittoon. Tietokoneelle nopanheitto tarkoittaa yhden ja kuuden välillä olevan kokonaisluvun arpomista satunnaislukugeneraattorilla:

KOODI: Heitä noppaa kunnes saat silmäluvuksi vähintään 5

OHJELMOINTIRAKENNE: EHTOLAUSEKE JOSSA LUKUMÄÄRÄÄ EI OLE MÄÄRITELTY

KOODI KÄSKY
import random # tuo random-moduuli, jolla käsitellään satunnaislukuja
while True: # niin kauan kuin ehtolauseke on totta, suorita seuraavat käskyt
    silmaluku = random.randint(1,6) # luo arvo nimeltä silmaluku, jonka arvo on satunnaisluku väliltä 1-6
    if silmaluku >= 5: # jos silmaluku -arvo on suurempi tai yhtä suuri kuin 5
        break # lopeta

KOODI: Heitä noppaa kuusi kertaa

OHJELMOINTIRAKENNE: SILMUKKA

KOODI KÄSKY
import random # tuo random-moduuli, jolla käsitellään satunnaislukuja
heitot = [] # tee tyhjä lista, jonka nimi on "heitot"
def noppa(n): # tee funktio nimeltä noppa, jonka parametri on n
    for i in range(n): # käy läpi kaikki (n kertaa)
        silmaluku = random.randint(1, 6) # luo arvo nimeltä "silmaluku", jonka arvo on satunnaisluku välillä 1-6
        heitot.append(silmaluku) # lisää "silmaluku" listaan nimeltä "heitot"
noppa(6) # suorita funktio "noppa" parametrillä 6, eli tee funktio 6 kertaa.
print("Tulos:", heitot) # Tulosta ruudulle sana "Tulos:" ja listan "heitot" sisältö.

Edellisissä esimerkeissä esitellyt ohjeet on kirjoitettu Python-kielellä if, if-else, for in range, while ym. käskyillä. Vastaavanlaisia rakenteita löytyy lähes kaikista ohjelmointikielistä, niiden kirjoitusasu vain vaihtelee kielestä toiseen.

Tietokone tekee mitä käsketään, mutta ei välttämättä sitä mitä halutaan

Ohjelmointi vaatii tarkkuutta ja huolellisuutta, koska tietokone noudattaa saamiaan ohjeita mekaanisesti. Tietokone tekee mitä käsketään, mutta ei välttämättä sitä mitä halutaan. Pienikin virhe ohjelmassa voi aiheuttaa täysin odottamattoman lopputuloksen.

Joskus ohjelmointivirhe voi olla jopa kohtalokas, esimerkiksi Yhdysvalloissa 1980-luvulla koodausvirheen takia säteilyhoitolaite antoi viidelle potilaalle tappavan annoksen säteilyä. Toinen tunnettu esimerkki ohjelmointivirheestä on Ariane 5 -avaruusraketin tuhoutuminen 40 sekuntia laukaisun jälkeen vuonna 1996. Lähellä oli, että raketista putoavat romut olisivat vahingoittaneet laukaisua seuranneita vieraita.

Toisaalta, jos ohjelma on koodattu oikein, tietokone suorittaa sen erittäin nopeasti ja virheettömästi.

Konekielistä symbolisiin ohjelmointikieliin

Tietokoneen ohjelmointikieliä on kehitetty paljon vuosikymmenten varrella. On tulkinnanvaraista mikä oikein on ohjelmointikieli, ja sen vuoksi niiden määrää on mahdoton sanoa täsmällisesti. Joka tapauksessa niitä on satoja, eräiden laskutapojen mukaan jopa tuhansia.

Ensimmäiset ohjelmointikielet olivat niin sanottuja konekieliä, joita tietokoneen suoritin ymmärsi. Niillä kirjoitetut ohjelmat olivat pelkkiä nollien ja ykkösten jonoja, ja ne syötettiin syötettiin tietokoneelle kytkimiä kääntelemällä. Esimerkiksi konekielinen käsky 10110100 10110111 merkitsee suorittimelle, että se laskee kahden sisäisen rekisterin sisällöt yhteen ja siirtää tuloksen kolmannen rekisterin osoittamaan muistipaikkaan.

Myöhemmin kehitettiin kuitenkin ihmiselle havainnollisempia tapoja esittää käskyt tietokoneelle, koska konekielinen koodaaminen oli ymmärrettävästi vaikeaa ja vaati äärimmäistä tarkkuutta. Näin syntyi symbolinen konekieli eli assembler language. Symbolisella konekielellä edellinen käsky olisi esimerkiksi muotoa ADD A,B,@C

Nämä havainnollisemmat ohjelmat oli sitten käännettävä erityisellä ohjelmalla, kääntäjällä, konekieliseksi koodiksi, joka voitiin syöttää tietokoneeseen sen ymmärtämässä muodossa, eli bitteinä. Vielä 1980-luvulle saakka ohjelmakoodia saatettiin syöttää tietokoneelle reikäkorteilla.

Ohjelmointikielien tarkoitus on toimia ihmisten ja tietokoneiden välisenä rajapintana

Symbolisenkin konekielen käyttö on vaivalloista, joten yleensä ohjelmoinnissa käytetään korkean tason ohjelmointikieliä. Niiden tarkoitus on toimia ihmisten ja tietokoneiden välisenä rajapintana. Nykyisin yleisessä käytössä olevia ohjelmointikieliä ovat esimerkiksi Java, C-kieli ja Python. Nämä korkean tason ohjelmointikielet eivät myöskään ole aikaisempien kielien tapaan konekohtaisia, vaan mahdollistavat myös saman ohjelman käytön eri konekieliä käyttävissä tietokoneissa.

FORTRAN-ohjelmointikieli mullisti tietokonemaailman

Ensimmäistä tietokoneohjelmaa on vaikea nimetä. Se on myös määrittelykysymys.

Jo kauan ennen elektronisten tietokoneiden aikaa mekaanisten koneiden ohjaamiseen käytettiin algoritmeja. Usein ensimmäisenä tällaisena pidetään Ada Lovelacen laatimaa algoritmia Charles Babbagen mekaaniselle tietokoneelle v. 1842. Tämä ohjelma laski Bernoullin lukuja.

Lovelace's diagram from Note G, the first published computer algorithm
Ada Lovelacen algoritmi Bernoullin lukujen laskemiseksi. Sitä pidetään ensimmäisenä tietokoneohjelmana Lovelace's diagram from Note G, the first published computer algorithm Kuva: Public Domain/Wikipedia tietokoneohjelma,Ada Lovelace

Ensimmäisenä korkean tason ohjelmointikielenä pidetään saksalaisen insinöörin Konrad Zusen> toisen maailmansodan aikana kehittämää tietokoneohjelmaa Plankalkülia, jota hän käytti mm. shakkivastustajanaan Z3 tietokoneessaan. Plankalkül hautautui kuitenkin arkistoihin eikä sillä ole ollut muuta kuin kuriositeettiarvoa.

Piti odottaa 1950-luvun puoliväliin asti, ennenkuin syntyi ensimmäinen korkean tason ohjelmointikieli, jolla oli merkitystä. Tuolloin kehitetty FORTRAN (FORmula TRANslator) yleistyi nopeasti samalla kun elektroniset tietokoneet kehittyivät. Iästään huolimatta sitä käytetään edelleen runsaasti erityisesti raskasta tieteellistä laskentaa vaativissa tehtävissä, mitä varten se aikanaan kehitettiinkin.

Monet sen ominaisuudet: taulukkomuuttujat, muuttujan ohjaamat silmukat (ns. for-silmukat) sekä haarautuva if-lause, löytyvät nykykielistäkin.

C LUVUNARVAUSPELI
LUKU=42
LKM=0
10 PRINT*, 'ANNA LUKU 1...100'
READ*, IARVAUS
LKM=LKM+1
IF(IARVAUS.LT.LUKU) THEN
PRINT*, 'LIIAN PIENI ARVAUS'
GOTO 10
ELSE IF(IARVAUS.GT.LUKU) THEN
PRINT *, 'LIIAN SUURI ARVAUS'
GOTO 10
END IF
PRINT*, 'OIKEIN'
PRINT*, 'TARVITSIT ',LKM,' ARVAUSTA'
STOP
END

Ohjelman toiselta riviltä ilmenee että arvattava luku on 42 (LUKU=42). Jos arvaa liian pienen luvun, ohjelma kertoo rivillä kahdeksan arvauksen olevan liian pienen (PRINT*, 'LIIAN PIENI ARVAUS'). Jos se on liian iso niin vastaavasti se kertoo rivillä 14 luvun olevan liian suuri. Kun arvaus osuu kohdalle se kertoo arvauksen olevan oikein ja arvausten lukumäärän.

Voit tässä alla kokeilla miten edellä oleva koodi toimii (klikkaa kursoria aloittaaksesi) :


Web-liittymän vuoksi ohjelma on tässä toteutettu JavaScript-kielellä, mutta käyttäjälle edellinen Fortran-ohjelma näyttäisi siis tältä.

Yhä uusia ohjelmointikieliä syntyy

1950-luvun lopussa kehitettiin COBOL (COmmon Business Oriented Languange) joka on kaupallis-hallinnollinen kieli. Kieli oli tarkoitettu suurten tietomäärien yksinkertaisiin käsittelyyn. Cobolin käskyt on laadittu niin lähelle käyttöenglantia kuin mahdollista. Jos ohjelman parametreiksi ja muuttujiksi vielä valitaan sopivia sanoja, saattaa koodaamista osaamatonkin ymmärtää mitä ohjelma oikein tekee.

1960-luvun alussa kehitettiin ALGOL. Siitä tuli Euroopassa 1960-luvun lopun suosituin kieli. Algol on siinä mielessä merkityksellinen kieli, että sen pohjalta kehitettiin myöhemmin paljon käytössä olleet Pascalin ja C-kielen eri versiot.

Pascal kehitettiin 1960 ja -70-lukujen taitteessa erityisesti opetuskäyttöä varten. Se oli hyvin käytetty ohjelmointikieli Suomessakin opetuskäytössä 1970-luvulta 1990-luvun alkupuolelle asti kunnes C-kieli syrjäytti sen.

Toinen paljon opetuskäytössä ollut ohjelmointikieli on 1960-luvun puolivälissä kehitetty BASIC (Beginner´s All-purpose Symbolic Instruction Code). Basicistä on kehitetty tehokkaampia uudempia ohjelmointikieliä, kuten Microsoftin Visual Basic.

Kotitietokoneiden yleistyessä 80-luvulla moni sai ensikosketuksensa ohjelmointiin nimenomaan Basic-kielellä, jolla pystyi tekemään omia pieniä pelejä mm. Commodore 64, Vic-20 tai Amiga-koneisiin. Näitä ohjelmia levitettiin jopa radio-ohjelman kautta, kuten kerrotaan.

Yleisradio opetti Basic-ohjelmointia 1970-luvulla jopa televisiossa.

Algolista kehitetty C on yleiskäyttöinen ohjelmointikieli, joka on levinnyt laajalle 1970-luvulta lähtien. Sen vahvuuksia ovat yksinkertaisuus, tehokkuus ja joustavuus ja siirrettävyys. Monet uudemmat ohjelmointikielet, kuten C++, C# ja Java pohjautuvat C-kieleen.

Seuraavassa esimerkkiohjelma C-kielestä, joka kysyy käyttäjältä kaksi lukua ja tulostaa niiden summan. C-kieli poikkeaa suhteellisen vähän konekielestä ja sen vuoksi sen kieliasu ei ole maallikolle yhtä helposti aukeavaa esim. Fortran-ohjelmointikieli. Toisaalta sillä kirjoitetut ohjelmat ovat vastaavasti hyvin pienikokoisia ja tehokkaita.

#include <stdio.h>
int main(void)
{
int a, b, c;
printf("Anna 1. luku:\n");
scanf("%d", &a);
printf("Anna 2. luku:\n");
scanf("%d", &b);
c = a + b;
printf("Antamiesi lukujen summa on %d\n", c);
return 0;
}

Voit tässä alla kokeilla miten edellä oleva koodi toimii (klikkaa kursoria aloittaksesi):

Web-liittymän vuoksi ohjelma on tässä itse asiassa toteutettu JavaScript-kielellä, mutta käyttäjälle edellinen C-ohjelma näyttäisi siis tältä.

Internetin kehitys tuo uusia tarpeita ja uusia kieliä

1990-luvun puolivälissä ohjelmoinnin fokus siirtyi kohti verkkosovelluksia internetin leviämisen myötä, ja näitä varten kehitettiin uusia ohjelmointikieliä. Tässä esitellään niistä muutamia yleisimpiä.

Ylen etusivu 22.5.2001.
Ylen etusivu 22.5.2001. Ylen etusivu 22.5.2001. Kuva: Yle tietokoneet,internet

Ensimmäisiä erityisesti verkkosovelluksia varten kehitetty kieli oli oli Java, joka on C-sukuinen oliokieli. Java on tällä hetkellä maailman yleisin ohjelmointikieli. Sillä toteutetut ohjelmat toimivat esimerkiksi Windows-, Linux- ja Mac-ympäristöissä. Myös Androidin sovellukset kirjoitetaan Java-kielellä, mutta Windows-maailmaan tarkoitetut ohjelmat eivät suoraan toimi Androidilla (ja päinvastoin).

1990-luvulla kehitettiin myös ohjelmointikieli Python. Se on monipuolinen, tulkattava ohjelmointikieli ja sopii erityisesti verkkosovelluksiin. Pythonia voi käyttää myös vaativassa ja tieteellisessä laskennassa ja sitä käyttäen voi tuottaa myös graafisia esityksiä. Pythonia pidetään helppona oppia sen yksinkertaisen syntaksin(lauseopin) ja korkean tason tietorakenteiden takia. Monet suosittelevat sitä ensimmäiseksi ohjelmointikieleksi.

Myös Ruby on ohjelmointikieli, jota käytetään erityisesti verkkopalveluiden toteuttamiseen Ruby on Rails (RoR) laajennuksen avulla. Ruby on monessa suhteessa mielenkiintoinen kieli, ja selkeän syntaksin vuoksi sen alkeita pidetään melko helppoina oppia. Esimerkiksi mikroblogipalvelu Twitter on toteutettu Rubyllä.

PHP kehitettiin webin alkuaikoina helpottamaan dynaamisen sisällön lisäämistä kotisivuille. Sitä hyödynnettiin aluksi erityisesti web-lomakkeiden käsittelyyn. Vuosien myötä PHP on laajentunut täysimittaiseksi ohjelmointikieleksi, jota käytetään monissa suurissakin palveluissa.

JavaScrip on ohjelmointikieli, jota yleensä käytetään verkkoselaimessa toimivien skriptien eli komentosarjojen tekemiseen ja se perustuu löyhästi C-ohjelmointikieleen. Sen tärkein sovellus on mahdollisuus lisätä verkkosivuille dynaamista toiminnallisuutta. Esimerkiksi JavaSript käsky alert ('Oletko valmis?'), luo koneen ruudulle ikkunan ja siihen tekstin "Oletko valmis" ja odottaa, että käyttäjä kuittaa tämän klikkaamalla ikkunassa olevaa OK-painiketta.

Nimestään huolimatta JavaScriptillä ei ole mitään tekemistä Java-kielen kanssa.

Lisää ohjelmoinnista radio-ohjelmassa

Millaista ohjelmoijan työ sitten oikein on ja millaisia taitoja se vaatii? Ja mitä tulevaisuudessa on vielä koodaamiselta odotettavissa? Ja tarvitaanko peruskouluihin ylipäätään ohjelmointia? Näitä kysymyksiä pohditaan allaolevassa Tiedeykkösen jaksossa.

Koodi - suomi -sanakirja

Lyhyt terminologiasanasto

Algoritmi Yksityiskohtainen kuvaus tai ohje siitä, miten tehtävä tai prosessi suoritetaan. Tietokoneohjelma on algoritmi.

API Ohjelmointirajapinta on määritelmä, jonka mukaan eri ohjelmat voivat tehdä pyyntöjä ja vaihtaa tietoja eli keskustella keskenään. Hyvä esimerkki rajapinnasta on käyttöjärjestelmän rajapinta, jolla ohjelmat voivat käyttää keskusmuistia sekä tiedostoja.

Assembler Symbolinen konekieli Assemblerilla tarkoitetaan kullekin prosessorityypille ja sen käskykannalle erikseen määriteltyä laitteistoläheistä ohjelmointikieltä. Hyvin koneläheinen ohjelmointikieli, jossa konekielikäskyt on korvattu helpommin muistettavilla lyhennyksillä, kuten MOV (move, siirrä). Assemblylla voidaan tehdä nopeaa koodia ja kieli on sinänsä on hyvin yksinkertainen, mutta prosessorit eivät ole kovin yksinkertaisia, joten Assemblylla koodaaminen on työlästä touhua. Assembly on kielen nimi, kun taas Assembler on Assembly-kielen kääntäjä.

Binääriluku Kaksikantainen luku. Luku, joka on esitetty ykkösinä ja nollina (001010), niin kuin tietokone lukuja käsittelee. Lukujen esitys 2^x muodossa.

Bitti Pienin tietoalkio tietokoneessa. Binääriluvun osa; arvo voi olla 1 tai 0. (mikron virtapiireissä virtaa tai ei virtaa)

Bugi Virhe ohjelmassa. Katso myös virhe, error, mistake

Debugata Etsiä virheitä ohjelmasta, yleensä erillisellä hommaan tarkoitetulla ohjelmalla eli debuggerilla.

Do..while Suorittaa silmukan kerran ja sen jälkeen niin kauan kun ehto on tosi.

Editor Ohjelmointitarkoitukseen kehitetty tekstinkäsittelyohjelma, Ohjelma jolla kirjoitetaan lähdekoodia. Editorista on poistettu tavallisen tekstinkäsittelyohjelman tekstin muotoilua (bold, italic, ...) hoitavat toiminnot. Editoreissa voi nykyään olla ohjelmointikelen rakenteen ymmärtäviä toimintoja (esim väritys tai muotoilu)

Ehtolauseke on looginen väittämä, joka liitetään if­ ja elif­rakenteisiin. Jos ehtolauseke on tosi, suoritetaan se osio, johon lause oli liitettynä. Muussa tapauksessa suoritetaan rakenteen else-­osio tai sen puuttuessa rakenne ohitetaan kokonaan.

Else Jos if ei toteudu, niin else toteutuu. Katso "if".

For Yksinkertainen toistorakenteiden tekeminen. Käytetään yleensä kun toistetaan ohjelman rakennetta tietyn määrän.

Frontend tarkoittaa selaimen tulkitsemaa ja ihmiskäyttäjille visuaalisessa muodossa esittämää osuutta sivustosta, erotuksena palvelimen puolella toimivasta ohjelmistosta (backend). Frontendiin kuuluvat mm. tekstisisältö, värit, kuvat, typografia, käyttöliittymäkomponentit ja muut vastaavat asiat.

Funktio Funktiot ovat ohjelman sisäisiä pieniä itsenäisiä osasia. Funktion tarkoitus on, että konetta opetetaan kerran tekemään jokin asia, ja kun kone on sen oppinut, asian tekemiselle annetaan nimi. Esimerkiksi näytölle voitaisiin piirtää yksinkertainen talo komennolla ”piirräTalo”.

If Ehtolause jolla ohjelman suorituksessa voidaan tehdä valintoja. Ehtoa seuraava lohkorakenne tai lause suoritetaan jos ehto on tosi. Katso myös "else"

Java Laiteriippumaton olio-ohjelmointi kieli. Java on Sun Microsystemsillä kehitetty C++ muistuttava säieperustainen olio-ohjelmointikieli. Ilmaisten lisenssien myötä kieli ja välikooditulkit ovat levinneet kaikkiin tärkeimpiin ympäristöihin. Sunin tytäryhtiö on jo julkistanut Java-välikoodia konekielenään käyttäviä prosessoreita. Käytetään runsaasti web ohjelmien suunnitteluun.

JavaScript Netscapen kehittämä skriptauskieli, jolla voidaan laatia ohjelmia suoraan HTML-dokumentteihin. Voidaan käyttää esimerkiksi dokumenteissa virhetarkistuksiin ja tiedon esikäsittelyjen toteuttamiseen.

Koodi Joko ohjelman lähdekoodi eli kääntämätön muoto tai jo käännetty konekieli.

Käsky (­lause) Tarkoittaa yhtä loogista riviä koodia, jolla suoritetaan jokin operaatio, kuten tulostus, sijoitus tai vertailu.

Kääntäjä eli Compiler on ohjelma, jolla voidaan kääntää lähdekooditiedosto konekieliseen muotoon ajamista varten. Kääntäjä lukee koko lähdekoodin ennen kuin tuottaa funktionaalisen ohjelman.

Loop Silmukka. Toistorakenne

Lähdekoodi Tiedosto tai joukko tiedostoja, johon on tallennettu varsinaiset koodirivit yhdestä tehtävästä tai ohjelmasta.

Muuttuja Nimetty paikka, jonne voi varastoida tietoa. Nimensä mukaisesti ,uuttujan sisältöä voi muuttaa.

Olio Järjestelmän ajonaikainen osa joka suorittaa tietyn tehtävän. Olio luodaan tietyn luokan avulla eli jokaista olita vastaa luokkakaaviossa luokka, jolla opi on saatu aikaan. Metafoora: Luokka on piparkakkumuotti, jolla tehdään pipari eli olio. Samalla luokalla voidaan tehdä useita samanlaisia olioita. Samanlaisilla oliot sisältävät kuitenkin eri tietoa.

Olio-ohjelmointi Olio-ohjelmat muodostuvat ohjelmassa ja sen ympäristössä esiintyvät oliot kuvaavista luokkamäärittelyistä ja sen ohjelmaoliojoukon määrittelystä ja aktivoinnista, minkä käyttäytyminen ratkaisee ohjelman tehtävän. Ohjelmointiteknisesti olio voidaan ymmärtää yksilöidysti viitattavaksi muistitilaksi, joka osaa itse muuttaa sisältöään. Käytännössä kaikkiin yleisimmin käytettyihin ohjelmointikieliin/-ympäristöihin on kehitetty eri tasoisia olion käsitettä tai olioajattelua tukevia laajennuksia.

Silmukka Silmukan avulla sama ohjelmakoodi voidaan suorittaa useita kertoja.

Tietokanta muodostuu tietueista. Tietueita voidaan lisätä, muuttaa ja poistaa. Tietokannasta voidaan poimia tietoja tietueiden avainarvojen avulla erilaisten hakurutiinien avulla.

Tietue on useista tietoalkioista muodostuva kokonaisuus. Esimerkiksi sanakirjan osamuuttujat ovat tietueita, jotka sisältävät kaksi alkioa, avaimen ja arvon.

Toistolause Rakenne jolla sama asia tehdään kunnes tietty ehto täyttyy.

Tulkki on ohjelma, jolla voidaan suorittaa lähdekooditiedostoja. Tulkki lukee lähdekooditiedostoja sitä mukaa, kun niitä ajonaikana tarvitaan.

While suorittaa lausetta tai lohkoa niin kauan kun ehto on tosi.

Lähteinä on käytetty mm.seuraavia sanastoja, joista löytyy kattavampi lista termeistä:
http://www.netikka.net/herala/Sanak.html
http://www.doria.fi/bitstream/handle/10024/63381/isbn%209789522149701.pdf</td><p>

Lue lisää:

Python koodia.

Kiinnostaako koodaus? Näillä pääset ohjelmoinnin alkuun

Verkosta löytyy monia verkkosivustoja jota kautta voi oppia ohjelmointia ilmaiseksi. Kokosimme niistä kiinnostavimmat.

EDIT 19.9: Korjattu ulkoasua
EDIT 21.9: Korjattu koodiesimerkkejä
EDIT. 7.12.2016: lisätty metatietoja

  • Kansan Wiisaus esittää

    Ironinen mediakasvatusvideosarja

    Mediakasvatuksen hurmos Tälle sivulle on kerätty kaikki valistushenkiset Kansan Wiisaus esittää -elokuvat, olkaa hyvä! Kansan Wiisaus esittää -elokuvat kertovat totuuden suoraan mediamaailman syövereistä!

  • Vikasietotila: Näin saat nettisisällöt nopeasti talteen

    Nettilinkkien vikkelä tallentaminen vaatii oikeat välineet.

    Internet on tulvillaan kiinnostavaa luettavaa ja katsottavaa. Parhaiden linkkien, verkkotekstien ja videoiden poimiminen talteen vaatii kuitenkin oikeat välineet. Kaikkea kiinnostavaa verkkosisältöä on valitettavasti harvoin mahdollisuus lukea ja katsoa saman tien.

  • Vikasietotila: Vertailusivustojen vertailu kannattaa

    Netin vertailusivustot vaativat käyttäjältä kriittisyyttä

    Verkon hintavertailupalvelut antavat nopeasti kuvan tuotteiden ja palveluiden hinnoista. Käyttäjältä vertailusivustot vaativat kuitenkin kriittisyyttä. Verkon hintavertailupalvelut toimivat näppärästi ostopäätöksen tukena. Kirjoitat vain tuotteen vertailupalvelun hakuriville ja saat välittömästi puhelimen tai tietokoneen näytölle tuotelistan eri nettikauppojen hinnoilla varusteltuna.

  • Vikasietotila: Muunna tabletti tietokoneeksi helpoin vinkein

    Tabletti toimii myös kannettavana tietokoneena

    Taulutietokone eli tabletti suunniteltiin käytettäväksi tietokoneen rinnalla. Fiksusti varusteltuna tabletti voi kuitenkin kasvaa oikeaksi kannettavaksi tietokoneeksi. Tabletin arkiset hyödyt ovat selviä. Kädessä pideltävä, välittömästi käynnistyvä ruutu sopii hienosti kevyeen netin selailuun, sähköpostien ja kirjojen lukemiseen sekä tietysti pelaamiseen ja videoiden katseluun.

Media- ja digitaidot