28.10.2014 Views

1tgD67B

1tgD67B

1tgD67B

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

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!