Logo (język programowania)

Logo
Pojawienie się

1967

Typowanie

dynamiczne

Implementacje

UCBLogo, Imagine i inne

Twórca

Seymour Papert

Platforma systemowa

Unix/Linux, macOS, Microsoft Windows

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[1].

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

Programowanie żółwia

Spirala narysowana za pomocą Logo

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[2], a w 1986 Wojciech Zientara, redaktor tego działu, przygotował polską wersję dla komputera Atari[3].

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, ISBN 83-202-0522-0, ISBN 83-202-0542-5) i inne publikacje profesora UW, dr. hab. Stanisława Waligórskiego czy „Atari Logo – komputerowe przygody” (1991, ISBN 83-204-1177-7) 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[4]. 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, ISBN 83-204-1228-5), 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, ISBN 83-903197-0-5).

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, ISBN 83-906301-2-5). 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[5]. 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

Media użyte na tej stronie

LogoRecursiveSpiral.jpg
Autor: Autor nie został podany w rozpoznawalny automatycznie sposób. Założono, że to ClemRutter (w oparciu o szablon praw autorskich)., Licencja: CC-BY-SA-3.0

Logo Example - illustrating the logo program

to spiral :size
   if  :size > 30 [stop] ; a condition stop
   fd :size rt 15        ; many lines of action
   spiral :size *1.02    ; the tailend recursive call
end
spiral 10
Here a new word spiral is defined (with a parameter) in the definition, the word calls itself with a different parameter. On the stop conmdition, the inner most word breaks out, and each calling word continues with the next command- also a break.