28.10.2014 Views

1tgD67B

1tgD67B

1tgD67B

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

Koodi<br />

Ohjelmoinnin opintiet<br />

Moni haluaisi oppia ohjelmoimaan. Oppimistavoista on kuitenkin<br />

monenlaisia näkemyksiä.<br />

Teksti: Ville-Matias Heikkilä<br />

Kuvat: Marko Vallius, Susan Pogany, Wikimedia Commons -käyttäjä Tanderson11<br />

Tilanne on varmasti monelle tuttu.<br />

Ohjelmoinnin oppimisesta kiinnostunut<br />

kohtaa kokeneen ohjelmoijan<br />

ja pyytää tältä neuvoa alkuun pääsemiseksi.<br />

Kokenut ohjelmoija muistelee<br />

omaa alkutaivaltaan ja neuvoo aloittelijan<br />

samankaltaiselle polulle. Kumpikaan<br />

ei ymmärrä, että ohjelmoinnin oppimiseen<br />

on monia eri tapoja ja yhden tapa<br />

saattaa olla toiselle täysin mahdoton.<br />

Tämän artikkelin tarkoitus on esitellä<br />

muutamia mahdollisia reittejä ohjelmoinnin<br />

oppimiseen etenkin omatoimisen<br />

opiskelun näkökulmasta. Millaisella kielellä<br />

kannattaa aloittaa, millaisella filosofialla<br />

jatkaa siitä eteenpäin ja millaisessa<br />

sosiaalisessa ympäristössä? Vastaukset<br />

näihin kysymyksiin ovat hyvin yksilöllisiä.<br />

Lelukielellä alkuun<br />

Ohjelmointikielet ovat usein vaikeita ja<br />

pitkäpiimäisiä. Yksinkertaisenkin asian<br />

tekeminen voi vaatia sellaisen määrän<br />

ympäryskoodia, että aloittelija hätääntyy<br />

täysin. Teorian, syntaksin ja rajapintojen<br />

kiemurat saavat usein opiskelussa pääosan,<br />

ja itse ohjelmointi hukkuu niiden<br />

alle. Tämän vuoksi ohjelmointiin voi olla<br />

hyvä hakea ensin tuntumaa jonkinlaisella<br />

lelukielellä.<br />

Yleinen harhakäsitys on, että ohjelmoinnin<br />

osaaminen olisi sama asia kuin<br />

jonkin ohjelmointikielen osaaminen. Ohjelmointitaidon<br />

perusta on kuitenkin kielistä<br />

riippumaton, eräänlainen niksahdus<br />

aivoissa. Kun tämä niksahdus on jonkin<br />

kielen avustuksella saatu aikaan, ei sitä<br />

tarvitse enää tehdä uudestaan myöhempien<br />

kielten kohdalla. Tästäkin syystä on<br />

hyvä keskittyä aluksi helppoon lelukieleen.<br />

Etenkin nuorimmille oppijoille on<br />

luontevaa suhtautua lelukieliin kuin mihin<br />

tahansa leluihin: vähät väliä aikuisten<br />

teorioista ja ammattikäytännöistä,<br />

tärkeintä on päästä kokeilemaan ja tekemään<br />

itse. Jälki voi etenkin aluksi olla<br />

sottaista, mutta ymmärrys syvenee ja käsiala<br />

paranee kokemuksen myötä – ainakin<br />

toivottavasti. Harhapoluille eksytään<br />

usein, mutta se ei haittaa, kun innostusta<br />

riittää. Hyvän lelukielen oleellinen piirre<br />

onkin innostuksen ylläpito esimerkiksi<br />

helpon grafiikkaohjelmoinnin kautta.<br />

Teoreettisempien ja vähemmän leikkimielisten<br />

oppijoiden kannattaa kuitenkin<br />

suhtautua lelukieliinkin systemaattisemmin.<br />

Ehkä tunnetuin lelukieli on vuonna<br />

1964 Dartmouthin yliopistossa alkunsa<br />

saanut Basic (Beginner’s All-purpose<br />

Symbolic Instruction Code). Kieli syntyi<br />

eräajojen ja reikäkorttien aikana, jolloin<br />

harvat pääsivät suoraan vuorovaikutukseen<br />

tietokoneen kanssa. Basicin perusajatuksena<br />

oli kuitenkin alusta asti vuorovaikutteisuus:<br />

opiskelijat istutettiin<br />

päätteiden ääreen, ja tietokone vastasi<br />

käskyihin ja koodimuutoksiin välittömästi.<br />

Kun ensimmäisiä mikrotietokoneita<br />

ruvettiin rakentamaan 1970-luvulla,<br />

olivat rakentajat usein saaneet ensikosketuksen<br />

ohjelmointiin nimenomaan<br />

Basicin kautta. Ei siis ihme, että sisäänrakennetusta<br />

Basic-tulkista tuli kotitietokoneissa<br />

itsestäänselvyys – niin hyvässä<br />

kuin pahassa.<br />

Monien Basic-suvun kielten ympärillä<br />

on edelleen aktiivisia yhteisöjä. Etenkin<br />

peliohjelmointi on aina ollut suosittua<br />

Basic-harrastajien keskuudessa. Peli- ja<br />

grafiikkakeskeiseen aloitteluun sopivat<br />

basicien lisäksi esimerkiksi lapsille tarkoitetut<br />

Scratch ja Etoys, mediataiteilijoiden<br />

suosima Processing ja pelintekoohjelma<br />

Game Maker GML-kielineen.<br />

Kotisivujen teko HTML-kielellä on<br />

toiminut monille porttina ohjelmointiin,<br />

vaikkei pelkkä HTML vielä ohjelmointikielen<br />

määritelmää täytäkään. Www-selain<br />

on nykyisin kaikenlaisten koneiden<br />

vakiovaruste ja siten myös eräänlainen<br />

Basic-tulkin manttelinperijä. Selaimen<br />

kaveriksi tarvitaan vain tekstieditori.<br />

Moniin sovellusohjelmiin kuuluu jonkinlainen<br />

skripti- tai makrokieli. Mikäli<br />

siis esimerkiksi Excelin kanssa tulee vietettyä<br />

paljon aikaa, voi sen makrokielellä<br />

12 2014.2

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!