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