Logo (język programowania)
Pojawienie się | 1967 |
---|---|
Typowanie | |
Implementacje | UCBLogo, Imagine i inne |
Twórca | |
Platforma systemowa |
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
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
- ↑ Biografia Jeana Piageta w nndb.com.
- ↑ Bajtek, www.nostalgia.pl [dostęp 2017-11-25] .
- ↑ https://archive.org/details/a8b_Polskie_Logo_Wersja_Kasetowa_1986_W.Zientara_of_Bajtek_pl Polskie Logo w Internet Archive.
- ↑ dr hab. inż. Jarogniew Rykowski. [dostęp 2018-12-08]. Biogram współtwórcy kompilatora AC-Logo.
- ↑ http://logo.oeiizk.waw.pl/logomocja.php?sr=zalecenie Zalecenie MENiS z 2003 r.
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
- Logo Komeniusz, poprzednik Logomocji-Imagine – strona enauczanie.com. enauczanie.com. [zarchiwizowane z tego adresu (2018-05-15)]. w Internet Archive
- Obecna strona enauczanie.com
Media użyte na tej stronie
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 10Here 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.