Lukáš Faltýnek: Další programovací jazyk: Logo

Friday, October 27, 2006 ·

Funkcionální programovací jazyk Logo je dialektem nám již z minulých dílů 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.

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ů.

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.

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.

Odkazy:

Článek vyšel v časopisu LinuxEXPRES, článek je uveřejněn s GNU FDL licencí (anglicky, česky).



Lukáš Faltýnek

0 comments:

Články dle data



Učitelské listy

Nabídka práce

Česká škola - portál pro ZŠ a SŠ

Česká škola poskytuje svým čtenářům diskusní prostor k vyjádření názorů na školskou problematiku. Tyto příspěvky se nemusí shodovat se stanoviskem redakce České školy a jsou uveřejňovány jako podnět k dalším diskusím.

Obsah článků nemusí vyjadřovat stanovisko redakce nebo vydavatele Albatros Media, a.s.


Všechna práva vyhrazena.

Tento server dodržuje právní předpisy
o ochraně osobních údajů.

ISSN 1213-6018




Licence Creative Commons

Obsah podléhá licenci Creative Commons Uveďte autora-Neužívejte dílo komerčně-Nezasahujte do díla 3.0 Česká republika, pokud není uvedeno jinak nebo nejde-li o tiskové zprávy.



WebArchiv - archiv českého webu



Tyto webové stránky používají k poskytování služeb, personalizaci reklam a analýze návštěvnosti soubory cookie. Informace o tom, jak tyto webové stránky používáte, jsou sdíleny se společností Google. Používáním těchto webových stránek souhlasíte s použitím souborů cookie.