Logo – lasten oma ohjelmointikieli (Ohjelmointikielet kautta aikojen 6)

Tämä julkaisu on kuudes osa syksyllä 2022 alkaneesta julkaisusarjasta, joka käsittelee erilaisia ohjelmointikieliä historian saatossa. Tervetuloa mukaan matkalle ohjelmointikielten maailmaan!

Logo on opetuskäyttöön tarkoitettu ohjelmointikieli, jonka ensimmäinen versio kehitettiin vuonna 1967. Keskeinen henkilö Logon kehityksessä oli MIT:n professori Seymour Papert, joka oli kiinnostunut uuden teknologian käyttämisestä opetuksessa. Tavoitteena oli luoda ohjelmointikieli, joka kehittäisi lasten ajattelua konkreettisen tekemisen kautta. Nimi Logo tulee kreikan kielen sanasta “logos”, joka tarkoittaa sanaa tai ajatusta

Logo tunnetaan erityisesti kilpikonnagrafiikasta, jossa ruudulla liikkuu kilpikonna. Tavallisia komentoja ovat kilpikonnan liikuttaminen eteenpäin sekä kilpikonnan suunnan muuttaminen. Liikkuessaan kilpikonna piirtää viivaa, minkä avulla voidaan piirtää kuvioita ruudulle. Yllättävää kyllä, Logon ensimmäisissä versioissa ei kuitenkaan ollut graafisia ominaisuuksia, vaan kieli oli alun perin tarkoitettu tekstin ja symbolien käsittelyyn.

Logossa on funktionaalisen ohjelmoinnin piirteitä ja siinä on vaikutteita Lisp-kielestä. Tyypillinen tapa ohjelmoida Logolla on määritellä lyhyitä komentoja, jotka liikuttavat kilpikonnaa tietyllä tavalla. Komennoissa voi olla parametreja, jotka vaikuttavat niiden suoritukseen. Yhdistämällä tällaisia komentoja toisiinsa voidaan luoda ohjelmia, jotka tuottavat monimutkaisia kuvioita.

Logo saavutti suunnilleen nykyisen muotonsa 1960-luvun lopussa, kun kieleen lisättiin grafiikkaominaisuudet. Kuitenkin kieli vietti vuosikausia hiljaiseloa ja vain harvat tiesivät Logosta ennen 1980-lukua, jolloin kieli alkoi saavuttaa suosiota. Tähän vaikutti Papertin vuonna 1980 ilmestynyt kuuluisa kirja “Mindstorms: Children, Computers, And Powerful Ideas”, joka käsitteli Logon taustalla olevia ideoita.

Kun Logo alkoi yleistyä 1980-luvulla, siitä tuli haastaja Basic-kielelle, jolla oli valta-asema ohjelmoinnin opettamisessa. Logosta annettiin kuva Basicia kehittyneempänä kielenä, joka kehittäisi paremmin lasten ajattelua. Erityisesti Logon sanottiin soveltuvan Basicia paremmin luovaan ohjelmointiin. Logon vahvuutena oli funktionaalisen ohjelmoinnin tyylinen ajattelu, jossa ongelman ratkaisun pystyi rakentamaan pienistä paloista.

Nykyään Logoa ei käytetä paljoakaan, vaan Scratch on pitkälti korvannut sen ohjelmoinnin alkeiden opetuksessa. Scratchissa on vaikutteita Logosta, mutta kieli on nykyaikaisempi ja se tarjoaa enemmän mahdollisuuksia ohjelmoijalle. Siinä missä Logolla voi lähinnä piirtää kuvioita kilpikonnan avulla, Scratchilla voi tuottaa pelejä, joissa on liikkuvia kuvia ja vuorovaikutteisuutta.

Logo on käännetty myös suomeksi. Voit testata logolla ohjelmointia täällä (https://fergusq.github.io/jslogo/?lang=fi#).

Kuvassa esimerkki spiraalin piirtävästä Logo-koodista Linkki-tiedeluokan historiikin sivulta 41.

Leave a Reply

Your email address will not be published. Required fields are marked *