Logo (programmeerimiskeel)

Logo on hariduslik programmeerimiskeel, mis töötati välja 1967. aastal USA Cambridge’i teadus- ja arendusettevõttes[1]. „Logo“ pole akronüüm, vaid on tuletatud kreekakeelsest sõnast logos, mis tähendab sõna või mõtet. Feurzeig valis sellise nime, et eristada Logo teistest programmeerimiskeeltest, mis olid enamjaolt orienteeritud numbritele, mitte graafikale või loogikale nagu Logo[2].

Logo
Näide logo väljundist
Paradigma multiparadigmaatiline: hariduslik, reflektiivne, protseduuriline, funktsionaalne
Väljalaskeaeg 1967
Looja Wally Feurzeig, Seymour Papert, Cynthia Solomon
Arendaja Wally Feurzeig, Seymour Papert, Cynthia Solomon
Viimane väljalase 3.6.4 (7.02.2023) Muuda Vikiandmetes
Tüüpimine dünaamiline
Dialektid StarLogo, NetLogo
Mõjutatud keeltest Lisp
Mõjutanud keeli NetLogo, Smalltalk, Etoys, Scratch, KTurtle, REBOL, Boxer

Logo on laialdaselt tuntud kilpkonnagraafika kasutuse tõttu, kus kasutaja käskude tagajärjel joonistab väike kilpkonnanimeline robot lineaarse graafika kujundeid. Keel oli mõeldud selleks, et õpetada Lispiga seotud programmeerimise kontseptsioone. Hiljem hakati Logo abil õpetama seda, mida Papert (üks Logo loojatest) nimetas „keha süntoni mõtestamiseks“ – kilpkonna liikumise ennustamine ja mõistmine end kilpkonna rollis kujutades[3]. On mitmeid Logo dialekte, millel on märkimisväärseid erinevusi. Pealegi vahepeal ilmub kilpkonnagraafika programme, mis nimetavad end Logoks, mille tõttu läheb olukord veel segasemaks. Logo on multiparadigmaatiline Lispi dialekt[4].

Logo on interpreteeritav keel, kuigi eksisteerib kompileerimispõhiseid Logo dialekte (näiteks Lhogho ja Liogo)[5][6].

Ajalugu muuda

Logo loodi 1967. aastal Cambridge’i teadus- ja arendusettevõtte BBN töötajate Wally Feurzeig, Seymour Papert ja Cynthia Solomoni poolt[7]. Esimese nelja aasta jooksul teostati Logo uurimis-, arendamis- ja õpetamistööd BBN-is. Logo esimene implementatsioon Ghost oli kirjutatud Lispi põhjal ning kirjutamiseks kasutati PDP-1 arvutit. Eesmärk oli luua matemaatiline pind, millel lapsed saaksid mängida sõnade ja lausetega[8].

Esimene töötav Logo kilpkonna robot loodi 1969. aastal. Ekraanipõhisele (virtuaalsele) kilpkonnale eelnes füüsiline "põranda kilpkonn". Esimest kilpkonna robotit juhiti juhtmega. Esmakordselt said virtuaalset ja füüsilist Logo kilpkonna kasutada 1970. aastate alguses Lexingtoni Bridge kooli viienda klassi õpilased[9].

Kilpkonn ja graafika muuda

Logo tuntuim tunnusjoon on kilpkonn, mille idee arenes välja Seymouri loodud robotist, mis paiknes põrandal ja sai liikuda eri suundades arvuti poolt saadetud käskude mõjul[7]. Tänapäevase Logo kilpkonna all mõeldakse lihtsate Logo käskude abil juhitavat kursorit, mis liikudes ekraanil joonistab enda virtuaalse pliiatsi abil lineaarse graafika kujundeid. Seymour Papert lisas Logole kilpkonnagraafika 1960. aastate lõpus, et toetada enda füüsilist kilpkonnarobotit, mis täitis sarnaseid ülesandeid, joonistades füüsiliselt pinnale kujundeid[9].

Kilpkonna juhtides kasutatakse nn kilpkonnageomeetriat – kilpkonna juhtimise käsud on otseses seoses kilpkonna enda asukohaga, nii tähendab näiteks käsk „LEFT 90“ kilpkonna pööramist 90 kraadi vasakule tema hetkepositsiooni suhtes[10]

Kilpkonna geomeetriat kasutatakse keskkondades väljaspool Logo alternatiivina rangelt koordineeritud graafika süsteemile. Näiteks on kilpkonna graafika idee kasulik fraktaalide genereerimisel Lindenmayeri süsteemis[3].

Näited Logo kilpkonna käskudest on leitavad Logo Foundationi kodulehelt[4].

Logo Eestis muuda

Logo kui programmeerimiskeelt on õpetatud ka Eestis. Üks esimesi veebikursusi oli Eestis 1996. aastal toimunud õpetajatele mõeldud Logo algkursus, kuhu registreerus üle 40 õpetaja Eesti koolidest[11]. Kilpkonna graafikat ja sellega seotult Logo programmeerimiskeelt mainitakse mitme Tartu Ülikooli programmeerimisega seotud kursuse raames. Nii näiteks mainitakse Logo Tartu Ülikooli tuntuima MOOCi „Programmeerimine maalähedaselt" kilpkonnagraafika osas[12].

Logo õpetused on saadaval ka eesti keeles[13].

Viited muuda

  1. Abelson, H., Goodman, N., & Rudolph, L. (1974). LOGO Manual. Artificial Intelligence Lab, Massachusetts Institute of Technology.
  2. Goldenberg, E. P. (1982). Logo - A Cultural Glossary. BYTE,210.
  3. 3,0 3,1 "What is the LOGO programming language?". Vaadatud 08.04.2018.
  4. 4,0 4,1 "Logo history". Vaadatud 17.03.2018.
  5. "Lhogho pealeht". Vaadatud 08.04.2018.
  6. "Liogo koduleht". Vaadatud 08.04.2018.
  7. 7,0 7,1 "Logo foundation". Vaadatud 17.03.2018.
  8. Cynthia Solomon (23.01.2017). "Logothings koduleht". Originaali arhiivikoopia seisuga 7.12.2011. Vaadatud 17.03.2018.
  9. 9,0 9,1 Cynthia Solomon (23.01.2017). "The70s". Vaadatud 08.04.2018.
  10. Cynthia Solomon (25.01.2017). "An Introduction to Logo and Turtle Geometry". Originaali arhiivikoopia seisuga 21.07.2018. Vaadatud 08.04.2018.
  11. "LOGO algkursus". Originaali arhiivikoopia seisuga 13.04.2018. Vaadatud 13.04.2018.
  12. "Programmeerimine maalähedaselt". Vaadatud 17.03.2018.
  13. "Logo moodul". 1999. Originaali arhiivikoopia seisuga 15.08.2010. Vaadatud 17.03.2018.