Historie a současnost programovacího jazyka LOGO

LOGO - logo - zdroj: http://uebb.cs.tu-berlin.de/~magr/turtle/turtle-logo.png
Funkcionální programovací jazyk Logo je dialektem známého jazyka Lisp. Byl navržen a primárně se používá pro výuku programování. Mezi jeho hlavními rysy patří interaktivita, modularita, rozšiřitelnost a flexibilita datových typů.

Zrod jazyka nalezneme v polovině šedesátých let, kdy se matematik Seymor Papert přesunul z Janovské univerzity na Massachusettskou technickou univerzitu (MIT). Tam pracoval v týmu Bolt, Beranek, Newman (BBN Technologies), který vedl Wallace Feurzeig. V roce 1967 pak společně vytvořili první verzi Loga. Během sedmdesátých let se Logo rozvíjelo na MIT a několika málo dalších výzkumných týmech např. v Edinburgu nebo Tasmanii.

Většího rozšíření se Logo dočkalo s nástupem osobních počítačů na konci sedmdesátých let. MIT Logo Group vyvinula verzi Loga pro počítače Apple II a Texas Instruments TI 99/4.V roce 1980 byla založena společnost Logo Computer Systems, Inc. (LCSI), která v dalším vývoji Loga sehrála klíčovou roli. Předsedou LCSI se stal duchovní otec Loga Seymour Papert.

Velmi významnou událostí pro rozšíření Loga byla publikace knihy Seymoura Paperta – Mindstorm, která dokázala oslovit a pro Logo nadchnout tisíce učitelů z celého světa. Logo se tak stalo v osmdesátých letech velmi populárním. Nové verze Loga byly implementovány více než v deseti jazycích na mnoho tehdejších počítačů. Nejrozšířenější bylo Logo pro MSX počítače, které bylo populární v Evropě, Jižní Americe a Japonsku. Atari Logo a Commodore Logo pak bylo populární v Severní Americe.

V devadesátých letech začal v USA a Kanadě zájem mnoha učitelů o Logo upadat. Příčinou byl především nedostatek nových inovací, a to především v kontrastu s nově vznikajícími výukovými systémy pro Windows a Macintosh. Naštěstí jiných částí světa se tato ztráta zájmu netýkala.

V dnešních dnech se Logo v oblasti výuky programování těší stále velké popularitě. Implementací Loga existuje více než 130. Populární implementace Loga jsou multiplatformní UCBLogo, slovenské Comenius Logo, jeho následník Imagine a dále pak MicroWorlds, LEGO Logo nebo StarLogo. Z implementací Loga čistě pro Linux jmenujme KTurtle, KLogo-Turtle. Tyto dvě implementace Loga pro Linux jsou ale zaměřeny spíše na výuku programování, takže programátorům neposkytnou vše, co by potřebovali.

Zápis programu v jazyce Logo je velmi podobný přirozenému jazyku. Základními prvky jazyka Logo jsou slova. Odtud také název jazyka. Logo pochází z řeckého slova logos, které znamená slovo nebo myšlenka. Slova jsou v Logu používána pro názvy programů, dat, vlastností a vztahů. Větší jazykové jednotky jsou pak v Logu vytvářeny z menších jazykových jednotek. Vytvoření programu pak z pohledu dětí znamená naučit želvu novému slovu nebo větě. Logo obsahuje asi 200 základních slov, která mají předem nadefinovaný význam.

KLogo - IDE

Podstatným rysem jazyka Logo je jeho interaktivita. Příkazy a procedury jsou vykonávány bezprostředně po zapsání. Zpětná vazba je bezprostřední, a tak se případné chyby mohou být opraveny hned, jak se vyskytnou. Data jsou v Logu, stejně tak jako v jiných funkcionálních jazycích, uspořádána ve formě seznamů. Seznamy obsahují uspořádanou množinu prvků, přičemž prvky mohou být slova, čísla nebo jiné seznamy. Dalším rysem Loga je pak jeho rekurzivnost. Jak vypadá kód jazyka, si dnes přiblížíme na klasickém příkladě Hello World, a poté na kresbě spirály, kdy využijeme výše zmiňované rekurze.

Ukázka programu Hello, World!:
to hello
print [Hello world]
end

Ukázka programu pro kresbu spirály:
to spiral :size
if :size > 30 [stop]
fd :size rt 15
spiral :size *1.02
end

Krása jazyka Loga je v tom, že by měl být dostatečně jednoduchý pro malé děti a zároveň dostatečně silný pro pokročilé programátory. Logo není jen práce s „želvou“ a grafikou, i když tak je na jazyk v mnoha případech nazíráno. Kromě grafických aplikací může Logo najít uplatnění v muzice, robotice a umělé inteligenci.

Poznámka pod čarou:

Vůbec první „želvou“ v jazyce Logo byl jednoduchý bezdrátový robot jménem Irving, jehož skelet připomínal krunýř. Děti pak Irvinga řídily za pomoci jednoduchých příkazů dopředu, zpět, doleva, doprava a zazvonit. Želví Irving měl na sobě přidělané pero, a tak si děti mohly kreslit obrázky na papíru, na kterém se robot pohyboval. Později se Irving přenesl na obrazovky monitorů, kde kromě želvy může v mnoha implementacích nabýt rozličných tvarů.

Odkazy:

KLogoTurtle

Comenius Logo

Berkeley Logo (UCBLogo)

skripta k jazyku Logo v češtině

domovské stránky společnosti Logo Computer Systems, Inc.

„domovske“ srtánky jazyka Logo při MIT

fotografie jednoho ze skutečných želvích robotů



Článek vyšel původně v časopisu LinuxEXPRES. Autor článku Lukáš Faltýnek.

Článek je uveřejněn s GNU FDL licencí (anglicky).

You can skip to the end and leave a response. Pinging is currently not allowed.

2 komentářů k “Historie a současnost programovacího jazyka LOGO”

  1. --==[FReeZ]==-- napsal:

    Velmi pekne zpracovano =)

  2. LuFa napsal:

    to –==[FReeZ]==–: Díky moc, pozitvní ohlas od tebe mě těší dvakrát :-).

Napište prosím komentář

You must be logged in to post a comment.