Logo (język programowania)

Logo (gr. λόγος [logos] – „słowo, myśl”) – język programowania stworzony jako narzędzie do nauczania informatyki i matematyki. Składa się z gotowych elementarnych procedur, które służą do definiowania procedur użytkownika. Został zaprojektowany przez pracującego pod koniec lat 60. XX wieku na MIT Seymoura Paperta, który inspirował się pracami szwajcarskiego psychologa i pedagoga Jeana Piageta.

Język Logo oparty jest na LISP z inną składnią i używa tzw. „grafiki żółwia” (ang. turtle graphics).

Programowanie żółwia 

Za pomocą następujących komend:
 ;komendy angielskie
 FORWARD 100
 LEFT 90
 FORWARD 100
 LEFT 90
 FORWARD 100
 LEFT 90
 FORWARD 100

 ;komendy polskie
 naprzód 100
 lewo 90
 naprzód 100
 lewo 90
 naprzód 100
 lewo 90
 naprzód 100

można sprawić, że żółw narysuje kwadrat o boku 100.

Komendy:
 ;komendy angielskie
 FORWARD 100
 RIGHT 120
 FORWARD 100
 RIGHT 120
 FORWARD 100

 ;komendy polskie
 naprzód 100
 prawo 120
 naprzód 100
 prawo 120
 naprzód 100
narysują trójkąt równoboczny.

W Logo używać można pętli. Powyższy kwadrat narysować można również tak:
;angielskie
REPEAT 4 [FORWARD 100 LEFT 90]
;polskie
powtórz 4 [naprzód 100 lewo 90]
Komendy żółwia można grupować i tworzyć własne procedury np.:
 ;angielskie
 TO KWADRAT
   REPEAT 4 [FORWARD 100 LEFT 90]
 END

 ;polskie
 oto kwadrat
   powtórz 4 [naprzód 100 lewo 90]
 już
teraz, po napisaniu KWADRAT, żółw „będzie wiedział”, co narysować.

Istnieje również implementacja języka Logo o nazwie Imagine, w której można realizować obiektowy model programowania w oparciu o klasy i obiekty.

Pełny paradygmat programowania obiektowego implementuje dialekt POOL (Parallel Object Oriented LOGO), pozwalając m.in. na definiowanie klas, stosowanie dziedziczenia i tworzenie funkcji wirtualnych. Charakterystyczną cechą jest implementacja żółwi jako obiektów aktywnych oraz programowanie współbieżne. Programy w dialekcie POOL są kompilowane.

Logo w Polsce 
Logo uzyskało w Polsce popularność m.in. dzięki magazynowi „Bajtek”. Czasopismo to w dziale „Programować może każdy” prowadziło kurs programowania w Logo, a w 1986 Wojciech Zientara, redaktor tego działu, przygotował polską wersję dla komputera Atari.

Cele edukacyjne języka przyczyniły się do rozpowszechnienia tego spolszczenia również w innych czasopismach, w wersjach dla innych komputerów i w książkach, które wtedy zaczęły się pojawiać. Wśród pierwszych książek wymienić można dwie części „LOGO na Sinclair Spectrum” (1987, , ) i inne publikacje profesora UW, dr. hab. Stanisława Waligórskiego czy „Atari Logo – komputerowe przygody” (1991, ) i inne prace (m.in. dla studentów i nauczycieli) profesora Ryszarda Tadeusiewicza.

Upowszechnienie komputerów osobistych sprawiło, że w połowie lat 80. XX wieku w ramach projektów rządowych zlecono opracowanie i wdrożenie do produkcji seryjnej sprzętu i oprogramowania profesjonalnych systemów wielomikrokomputerowych i mikrokomputera szkolnego. Ogłoszony konkurs wygrał zespół Politechniki Poznańskiej. W rezultacie wdrożenia prowadzonego przez inżynierów Politechniki w ramach Przedsiębiorstwa Innowacyjno-Wdrożeniowego „AdvaCom” sp. z o.o. i konstruktorów Elwro powstały mikrokomputery serii Elwro 800, w tym przeznaczony dla edukacji Elwro 800 Junior, do którego opracowano m.in. polski kompilator Logo. Powstała też stosowna literatura dla użytkowników, w tym książka „Leksykon LOGO” (1990, ), której autorami byli Wojciech Cellary (współtwórca komputera) i Krzysztof Pielesiak (współtwórca kompilatora). Następnie rozpoczęto prace nad konstrukcją komputera Elwro 801AT zgodnego z IBM PC/AT, dla którego zespół AdvaCom opracował w 1992 r. nową wersję polskiego kompilatora nazwaną AC-Logo (od nazwy firmy). Wersja 1.0 programu powstała w czerwcu, a jej wdrożenie dla szkolnictwa prowadziła współpracująca z Elwro Ogólnopolska Fundacja Edukacji Komputerowej (OFEK). W rezultacie zgłaszanych uwag w grudniu 1992 wydano ostateczną wersję AC-Logo 1.20, dla której OFEK wydała Podręcznik użytkownika AC-LOGO: wersja 1.2 dla IBM PC (1994, ).

W późniejszych latach uznanie zyskała opracowana i promowana przez Ośrodek Edukacji Informatycznej i Zastosowań Komputerów (OEIiZK) w Warszawie polska wersja słowackiego programu Komeniusz Logo, dla której również wydano książkę Wprowadzenie do języka i środowiska Logo Komeniusz (2000, ). W 2003 r. zalecenie Ministra Edukacji Narodowej i Sportu uzyskała obiektowa następczyni Komeniusza – Imagine, znana w polskiej wersji OEIiZK jako Logomocja, polska edycja Imagine. Od 2009 r. ministerstwo nie wydaje już zaleceń, ale ta wersja Logo jest wciąż najpopularniejsza w szkołach, choć nadal można zetknąć się z wykorzystaniem Komeniusz Logo, a nawet AC-Logo (uruchamianego w dosowej maszynie wirtualnej).

Strony WWW dotyczące programowania w Logo stają się rzadziej odwiedzane, gdyż zaczęto promować inne metody nauki programowania komputerów, np. Scratch czy Arduino.

Zobacz też 

 Imagine
 Konkurs programistyczny LOGIA
 Konkurs programistyczny MiniLOGIA

Przypisy

Linki zewnętrzne 
 Strona Fundacji Logo
 Berkeley Logo (UCBLogo) – interpreter Logo opublikowany na licencji GNU GPL
 MSWLogo Interpreter języka Logo dla Windows
 FMSLogo, środowisko programistyczne Logo dla Windows – następca MSWLogo opublikowany na licencji GNU GPL
 KTurtle – Interpreter języka luźno opartego na Logo dla Linuksa (KDE)
 POOL – kompilowany, obiektowy dialekt LOGO
 Logomocja, polska edycja Imagine
  w Internet Archive
 Obecna strona enauczanie.com

Języki programowania