Najważniejsze w LOGO to…
nie uczyć się na pamięć, tylko postarać się zrozumieć :)
Dlaczego właśnie język programowania LOGO?
Nie ma jednego uniwersalnego języka programowania. Jest ich – jak twierdzi prof. Maciej Sysło, członek Rady ds. Informatyzacji Edukacji przy MEN, autor programów nauczania i podręczników do informatyki – około 2,5 tys. Różnią się konstrukcją, skomplikowaniem i zastosowaniem. Internetowe rankingi prześcigają się w typowaniu tych najpopularniejszych – zazwyczaj są to C/C++, Java, PHP.
Języki programowania stworzone zostały z myślą o konkretnych celach. Są to programy przeznaczone do obsługi baz danych, obliczeń matematycznych, czy też tworzenia rozbudowanych aplikacji. Z tego powodu konkretny program może być łatwiejszy do napisania w jednym z nich, a trudniejszy w innym.
Język Logo powstał w latach 70-tych XX w. w Laboratorium Sztucznej Inteligencji w Massachusetts Institute of Technology (USA). Za jego głównego twórcę uznaje się Seymoura Paperta, który zainspirowany doświadczeniami francuskiego psychologa i pedagoga Jeana Piageta, postanowił stworzyć program aktywizujący dziecko w procesie nauczania – uczenia się.
Odznacza się interakcyjnością, znakomicie przemyślanym, prostym zestawem operacji graficznych i ogólnością składni (wzorowanej na języku LISP). Podstawowa zasada pracy w LOGO to dialog – użytkownik pisze polecenia i obserwuje reakcje bądź odpowiedzi interpretera LOGO. Dlatego naukę programowania w języku Logo można rozpocząć bez uprzedniego przygotowania uczniów do pracy z komputerem, ponieważ konwersacyjny sposób pracy w tym systemie nie wymaga wprowadzania wielu szczegółów technicznych. Zaletą, bardzo cenną dla początkujących, jest łatwość programowania rysunków w grafice żółwia. Istnienie żółwia, który potrafi rysować oraz uczy się, jest jednym z charakterystycznych cech tego języka.
Nie jest to język do tworzenia oprogramowania, lecz środek do nauczania informatyki i dziedzin pokrewnych, w tym oczywiście matematyki. Język LOGO to edukacyjny język programowania (podobnie jak PASCAL) ma prostą i przejrzystą budowę, więc idealnie nadaje się do uczenia programowania.
Logo to język umożliwiający tzw. programowanie strukturalne za pomocą prostych czynności, czy procedur. Rozwiązanie problemu polega na dzieleniu go na mniejsze problemy i ustaleniu powiązań między nimi.
Język Logo pomaga uczniom nie tylko pisać poprawnie zbudowane programy, ale również poznawać wybrane metody programowania, które są przydatne i stosowane w profesjonalnej pracy z komputerem. Nauczyciele i dydaktycy informatyki zauważyli, że umiejętności nabyte podczas uczenia się i stosowania pierwszego języka programowania, przechodzą w nawyki w późniejszej praktyce programistycznej. Ważną cechą systemu Logo jest również fakt, że wykonując programy w tym języku posługujemy się interpretatorem, co umożliwia natychmiastowe obejrzenie efektu działania pojedynczej instrukcji pierwotnej, jak i wywołanie zdefiniowanej procedury bez dodatkowych zabiegów.
Program komputerowy to zrozumiały dla komputera ciąg instrukcji. Każdy program napisany jest w jakimś języku programowania. Język ten służy wyłącznie do zapisywania algorytmów wykonywania programów.
Kod źródłowy programu to zestaw instrukcji opisujących całą aplikację. Kod źródłowy przechowujemy najczęściej w zwykłym pliku tekstowym. Taki kod nie jest bezpośrednio zrozumiały dla komputera. Aby maszyna go wykonała, musi zostać najpierw przetłumaczony linijka po linijce na język wewnętrzny komputera(tzw. maszynowy), który jest ciągiem operacji elementarnych realizowanych przez komputer. Taki program nazywamy programem (kodem) wynikowym. W większości przypadków nie możemy obejrzeć kodu źródłowego programów, których używamy. W wypadku programów komercyjnych kod źródłowy bywa strzeżoną tajemnicą producenta, a użytkownik dostaje wyłącznie program w postaci programu wynikowego – zrozumiałego dla komputera. Komercyjne programy są pisane w taki sposób, by spełniać nasze oczekiwania bez konieczności modyfikacji kodu źródłowego. Gry lub programy użytkowe (jak MS Windows Office, LibreOffice czy OpenOffice), składają się ze bardzo dużej liczby linii kodu źródłowego, nawet milionów poleceń, pisanych przez lata przez wielu programistów.
Aby zamienić kod źródłowy programu na sam program wynikowy musimy użyć innego programu zwanego translatorem (od ang. translation – tłumaczenie). Operacja ta nazywana jest translacją. Wyróżniamy przy tym dwa rodzaje translatorów w zależności od zastosowanej metody tłumaczenia programu:
Kompilator – wczytuje cały kod źródłowy programu, dokonuje jego optymalizacji i tłumaczy na kod wynikowy. W rezultacie otrzymujemy program wynikowy gotowy w każdej chwili do wykonania. Wynik kompilacji jest zapamiętywany w postaci pliku wykonywalnego (stąd rozszerzenie dla wielu programów zapisanych za pomocą pliku wykonywalnego *.exe od ang. executable). Skompilowanie programu umożliwia jego wykonanie w dowolnym momencie na dowolnym komputerze. Kompilator jest nam potrzebny tylko raz (podczas kompilacji). Wynik kompilacji zostaje zapamiętany, co powoduje że raz skompilowany program nie musi być przy uruchomieniu ponownie tłumaczony.
Interpretator – wczytuje fragment kodu źródłowego programu(zwykle jedną linię), tłumaczy na kod wynikowy i od razu wykonuje. Operacja ta jest powtarzana dla kolejnych elementów programu. Przy każdym uruchomieniu programu trzeba od początku zamieniać jego kod źródłowy na kod wynikowy zrozumiały dla komputera. Zatem do każdego wykonania programu musimy użyć interpretatora.
Systemy MS Windows
Najbardziej rozbudowane to Logomocja i jej starszy brat – poprzednik Logo Komeniusz, niestety komercyjne. Można jednak pobrać wersję Logomocji Demo, bez możliwości zapisu wyników pracy. Stworzone procedury można wtedy skopiować do np. Notatnika i przy ponownym uruchomieniu wklejać przez schowek do wiersza poleceń.
Imagine (polska wersja tego programu nazwana została Logomocją), powstał w 2001 roku na Słowacji, podobnie jak jej poprzednik Logo Komeniusz jest on dziełem zespołu pracowników Uniwersytetu Komeniusza w Bratysławie: Ivana Kalaa, Petera Tomcsányi, Andreja Blaho i Lubomira Salanci. Logomocja jest obiektowym środowiskiem programistycznym, dzięki temu możemy za jego pomocą poznać zasady programowania sterowanego zdarzeniami czy pojęcie dziedziczenia. W Logomocji, w stosunku do LOGO Komeniusza, pojawiły się takie nowe cechy typowe dla środowiska Windows jak: długie nazwy plików, pola edycyjne, przyciski z ikonami, paski przewijania. Żółwiom możemy przypisywać postacie, tworzone w zupełnie nowy sposób. Łatwo jest uzyskiwać animację, bowiem postaci żółwi są odtwarzane automatycznie w Logomocji. Nie zapomniano także o multimediach, Internecie oraz pracy w sieci.
Po uruchomieniu programu otwiera się okno główne Logomocji, wyglądem przypominające typowe okno aplikacji Windows. Okno zbudowane jest z paska tytułu, paska menu, paska skrótów, ekranu graficznego i ekranu tekstowego na który składa się historia komunikatów oraz wiersz poleceń.
Na ekranie graficznym widoczna jest strona, przypominająca kartkę białego papieru na której znajduje się żółw. Jest to świat żółwi, które posiadają swój język. Jeśli pozna się język żółwi, użytkownik uzyskuje możliwość komunikacji z nimi, a co za tym idzie możliwość tworzenia projektów. Żółwie przybierają różne postacie, jeśli tylko użytkownik tego zapragnie. Imagine daje możliwość kreowania zdarzeń opartych na własnych pomysłach, w czym pomocne są żółwie. Utworzenie projektu w Logomocji będzie oznaczało ingerencję w ich świat i wykreowanie nowego.
Rozpowszechnianiem Logo w Polsce zajmuje się Ośrodek Edukacji Informatycznej i Zastosowań Komputerów. Między innymi organizuje konkursy dotyczące Logo. Materiały dostępne są na stronie http://logo.oeiizk.waw.pl. Stamtąd też można pobrać wersję Demo programu Logomocja.
GNU/Linux
W systemach GNU/Linux dostępne są dwa różne interpretery Logo: zaawansowany interpreter UCB Logo oraz prosty, okienkowy interpreter KTurtle nastawiony głównie na animacje.
KTurtle wygodnie jest stosować, jeśli chcemy krok po kroku śledzić wykonywanie programów, dzięki którym kursor – mały żółw – przemieszcza się po ekranie, tworząc kolorowe rysunki. Lista poleceń tego Logo jest jednak krótka (Dodatek A podręcznika).
UCB Logo (stworzony na Uniwersytecie Kalifornijskim w Berkeley) – oprócz przygotowywania animacji umożliwia także bardzo złożone obliczenia i symulacje. Lista poleceń tego Logo jest bardzo długa (w Dodatku A są podane jedynie podstawowe) – możemy ją wyświetlić na ekranie, wpisując polecenie: pomóż. Jeżeli chcemy uzyskać opis konkretnego polecenia, wystarczy „pomóż” uzupełnić nazwą tego polecenia wpisaną po znaku cudzysłowu, na przykład: pomóż "powtórz.
Nie ma większych programów całkowicie wolnych od błędów
Niestety, zdarzają się również błędy, które nie są zauważane przez kompilator, ale powodują, że skompilowany program nie działa zgodnie z intencjami autora. Takie błędy są trudne do wyśledzenia, szczególnie gdy ujawniają się w rzadko używanych funkcjach czy też bardzo specyficznych sytuacjach. Mówi się o nich bugs (insekty). Nazwa pochodzi z czasów powstania pierwszych komputerów. Do ich budowy użyto lamp elektronowych i zajmowały one ogromne pomieszczenia. Ich programowanie polegało na przełączaniu kabli, a zwarcia (czyli błędy) powodowały czasem ginące wśród nich ćmy.
ENIAC – Jeden z pierwszych komputerów ENIAC, zbudowany do obliczania artyleryjskich tablic balistycznych podczas II wojny światowej, użyty do projektowania bomby wodorowej.