(toiminnot)

hwechtla-tl: Ohjelmointi on perustaito

Kierre.png

Mikä on WikiWiki?
nettipäiväkirja
koko wiki (etsi)
viime muutokset


Monet ajattelevat, että ohjelmointi on jotain ihmeellistä ja kummallista, jota tekevät vain friikit. Tietokoneet ovat täynnä aputyökaluja, jotka sallivat tehdä asiaa x -- "eikä tarvitse edes osata ohjelmoida!" Todellisuudessa ohjelmointi ei kuitenkaan ole mitään ihmeellistä. Se on hyvin monipuolista, mutta se on monipuolista samalla tavalla kuin legoista rakentaminen: ei sen takia, että palikat olisivat monimutkaisia, vaan sen takia, että itse päätät, mitä rakennat. Ja ohjelmoimalla pystyy rakentamaan melkein mitä vain.

Jos ohjelmointi onkin ihmeellistä ja kummallista, se johtuu siitä, että ihmisillä on siitä niin vähän kokemusta. Tällä tavoin ohjelmoinnin "erikoisuus" on itseään toteuttava ennustus. Ohjelmointi nimittäin ei ole vain aktiviteetti, jolla voi tuottaa ohjelmia: se on hyvin monipuolinen ja laajasti sovellettava harjoitus ajattelutaidoissa ja todellisuuden rakenteen havainnoinnissa abstraktilla tasolla.

Itse asiassa voisi väittää, että ohjelmointi on yksi harvoista hyödyllisistä asioista, joita mikrotietokoneella voi tehdä. Lisää tästä aiheesta on tekoäly-sivulla. Muita "harvoja hyödyllisiä asioita" ovat tietojen taltiointi ja kommunikaatio (joka sisältää mm. www-sivujen käytön).

Mutta mitä tarkoittaa, että ohjelmointi on perustaito? Ihmisethän pärjäävät aivan hyvin ilman ohjelmointitaitoa? Ehkäpä, mutta ihmiset pärjäävät hyvin myös ilman kirjoitustaitoa, lukutaitoa, talonrakennustaitoa, suurinta osaa insinööritieteistä ja niin edelleen. Eritoten samankaltaisuus kirjoitustaidon ja ohjelmointitaidon välillä on selkeä: molemmat auttavat ihmisiä saamaan itse aikaan asioita ja selville tietoja, jotka nykyajan huteroyhteisöisessä yhteiskunnassa eivät muuten järjesty.

Uskon, että ihmiset tarvitsevat ohjelmointikykyä sekä käytännössä, saadakseen aikaan omat tiedonkäsittelytarpeensa täyttäviä ohjelmia (kuinka monta kertaa olet tehnyt tietokoneella jotain toisteista ja mekaanista, jonka tietokoneen olisi hyvin voinut itse panna tekemään, jos vain osaisi?), että periaatteessa, kehittääkseen symbolisia kykyjään, joita yhteiskunnassa yhä enemmän tarvitaan. Myös yhteiskunnan kehitys laajassa mielessä on riippuvainen ihmisten ajattelutaidon ja erityisesti symbolijärjestelmien kehityksestä, jossa ohjelmointi on sekä työkaluna että aputarvikkeena välttämätön.

Tietokoneita on syytetty myös siitä, että ne tuhoavat ihmisten ajattelua. Minusta nämä syytökset ovat absurdeja, sillä vaikka ohjelmointi edellyttääkin tietynlaista ajattelutapaa, sen tuloksena tietokone toimii juuri haluamallasi tavalla. Ohjelmointitaito on itse asiassa ainoa keino vapautua ohjelmien muiden tuottajien hirmuvallasta ja käyttäjille pakottamista ajatusmalleista (ja huonoista käyttöliittymistä: käyttöliittymäsuunnittelu).

Ohjelmointitaito opettaa myös paljon siitä, millainen maailma ei ole. On helppoa kuvitella, että tietokone jossain mielessä muistuttaa ihmistä, kunnes katsoo sen sisään. On helppoa uskoa tieteen kaikesta vapauttavaan voimaan, kunnes kokeilee, miten uskomaton vaiva on mallintaa pienintäkään maailman osajärjestelmää tarkasti.

Jos kiinnostaa, 2014 järjestämäni ohjelmointikerhon sivut ovat osoitteessa http://dy.fi/wep

(Ohjelmointi sallii ihmisten määritellä tarkalleen tietynlaisen käyttäytymisen. "Ohjelma" on itse asiassa vain kasa jossain tietyssä muodossa kirjoitettuja ohjeita. Näitä ohjeita noudattaa tietokone. Sinä kirjoitat ohjelman, joka on yritys selittää tietokoneelle, mitä pitäisi tehdä; sitten käynnistät sen, eli käsket tietokonetta noudattamaan noita ohjeita. Nojaat taaksepäin, ja katselet rauhallisesti, kun tietokone ymmärtää jokaisen mahdollisen asian väärin, jonka vain voi... yrittämättä edes sitä, ymmärtämättä, mitä on tekemässä... lisää aiheesta ohjelmoinnin käsitteet -sivulla.)


Tämä näyttää olevan samasta aiheesta: http://www.python.org/doc/essays/cp4e.html

Vastakkaisen näkökannan kirjoitus, jossa mielestäni on tajuttu jotenkin aivan väärin, mitä "koodaamaan oppiminen" tarkoittaa: http://www.codinghorror.com/blog/2012/05/please-dont-learn-to-code.html

kategoria: elämäntavat


kommentoi (viimeksi muutettu 28.04.2015 16:58)