Dzisiaj nauka programowania nie wydaje się czymś skomplikowanym. Mamy na rynku tyle książek, kursów video, bootcampów, że trudno sobie wyobrazić lepszy czas na naukę. Nasi rodzice i my prawdopodobnie nie mieliśmy tylu przywilejów. Najbardziej rzucającym w oczy wydaje się język programowania Logo, który zupełnie zmienił to, co tak naprawdę wiedzieliśmy o edukacyjnym języku programowania. O tym będzie dzisiejszy wpis.
Logo to edukacyjny język programowania, który został zaprojektowany 1967 roku przez Wally'ego Feurzeiga , Seymoura Paperta i Cynthię Solomon. Logo nie jest akronimem: nazwa została ukuta przez Feurzeiga, kiedy był w Bolt, Beranek i Newman i wywodzi się od greckiego logos, oznaczającego słowo lub myśl. Język ogólnego przeznaczenia jest powszechnie znany z używania grafiki żółwia, w której polecenia ruchu i rysowania tworzą grafikę liniową lub wektorową na ekranie lub za pomocą małego robota zwanego żółwiem. Żółw na tyle zajął stabilną pozycję, że kilka generacji później pojawiał się w różnych wcieleniach. Żółw został stworzony, aby nauczyć młodych ludzi koncepcji programowania. Logo stanowi wieloparadygmatową dialekt i interpretację języka Lisp, który jest funkcjonalnym językiem programowania. Poniżej składnia języka Lisp:
Rys. 1 Przykład kodu w języku Lisp źródło: implementacja własna Logo jest językiem interpretowanym, chociaż opracowano skomplikowane dialekty języka Logo. Logo nie rozróżnia wielkości liter, więc nie generuje błędów z powodu użycia litery dużej i małej. Pierwszy działający robot-żółw Logo powstał w 1969 roku. Żółw pokazowy poprzedzał fizycznego żółwia podłogowego. Nowoczesne logo nie zmieniło się zbytnio od podstawowych koncepcji sprzed pierwszego żółwia. Pierwszy żółw był wędrowcem na uwięzi, nie sterowanym radiowo ani bezprzewodowo. Jego początki wcale nie były kolorowe. Na początku był zwykłym kursorem lub (w zależności od wersji) trójkątem poruszającym się po planszy. Do dzisiaj (np. w Python Turtle) można używać trójkąta jako żółwia. Z praktycznego punktu widzenia użycie geometrii żółwia zamiast bardziej tradycyjnego modelu naśladuje rzeczywistą logikę ruchu robota-żółwia. Żółw porusza się za pomocą poleceń odnoszących się do jego własnej pozycji. Na przykład left 90 oznacza obrót o 90 stopni w lewo a right 90 oznacza obrót o 90 stopni w prawo. Niektóre implementacje Logo, szczególnie te, które pozwalają na użycie współbieżności i wielu żółwi, obsługują wykrywanie kolizji i pozwalają użytkownikowi na ponowne zdefiniowanie wyglądu kursora żółwia, zasadniczo pozwalając żółwiom Logo działać jako sprite'y. Rys. 2 Gotowy rysunek w Logo| źródło: https://blog.adafruit.com/2018/05/07/the-history-of-turtle-bots-logo/ Niektóre nowoczesne pochodne Logo pozwalają tysiącom niezależnie poruszających się żółwi. Istnieją dwie popularne implementacje: StarLogo Massachusetts Institute of Technology i NetLogo Northwestern University Center for Connected Learning (CCL) . Pozwalają badać pojawiające się zjawiska i zawierają wiele eksperymentów z zakresu nauk społecznych, biologii, fizyki i innych dziedzin. NetLogo jest szeroko stosowany w symulacji agentowej w naukach biologicznych i społecznych. Chociaż nie ma uzgodnionego standardu, istnieje szeroki konsensus co do podstawowych aspektów języka. W marcu 2020 roku naliczono 308 wdrożeń i dialektów Logo, z których każdy miał swoje mocne strony. Większość z nich nie jest już w powszechnym użyciu, ale wiele z nich wciąż jest w fazie rozwoju. Komercyjne implementacje szeroko stosowane w szkołach to MicroWorlds Logo i Imagine Logo.
Rys. 3 Imagine Turtle źródło: https://robotika.sk/mains.php?page=/projects/turtlesoft/tutorial.php Logo miało wpływ na język programowania Smalltalk . Jest to również główny wpływ na środowisko i język programowania edukacyjnego Etoys, który jest zasadniczo wariantem logo napisanym w Squeak (sam wariant Smalltalk). Logo wpłynęło na model procedury / metody w AgentSheets i AgentCubes do programowania agentów, podobnie jak pojęcie żółwia w Logo. Logo zapewniło podstawowy język dla Boxera. Boxer został opracowany na Uniwersytecie Kalifornijskim, Berkeley i MIT i jest oparty na modelu czytania i pisania , dzięki czemu jest łatwiejszy w użyciu dla osób nietechnicznych. Przykład składni Smalltalk poniżej: Rys. 4 Struktura języka Smalltalk źródło: https://www.google.com/url?sa=i&url=https%3A%2F%2Fwww.e-booksdirectory.com%2Flisting.php%3Fcategory%3D404&psig=AOvVaw022hhhlRvCcmNtuGS-6AU4&ust=1674333068283000&source=images&cd=vfe&ved=0CBEQjhxqFwoTCJjAnfD-1vwCFQAAAAAdAAAAABAE Jeśli ktoś chciałby pobawić się MSWLogo w wersji online, to służy do tego ten link. Rys. 5 Logo w wersji online źródło: https://www.transum.org/software/Logo/
Potrzebujemy więcej kobiecych technicznych blogów! :D prawie ich nie ma, jak są blogi to męskie, więc dodaję do obserwowanych na bloggerze!
OdpowiedzUsuńDzięki! Kiedyś dużo blogowałam technicznie, ale trudno mi utrzymać regularność. Postaram się więcej coś pisać. :)
Usuń