PP Polyglot je vývojové prostředí určené pro výuku v kurzu Paradigmata programování. Vznikl v rámci bakalářské práca na univerzitě. Od té doby jeho vývoj pokračuje na katedře informatiky. Základní myšlenkou bylo vytvořit program, který bude jednoduchý na používání. V rámci kurzu budete programovat ve více programovacích jazycích.
Kurz je sestaven z přednášek. Každá přednáška má své téma. Ke každé přednášce obvykle dostanete zdrojový kód a text. Vše budete mít po přednášce přístupné v aplikaci.
Okno aplikce je složeno z menu, editoru, listeneru a helperu. V názvu okna zjistíte, v jaké přednášce se aktuálně nacházíte. V menu máte dostupné různé funkce programu (například otevřít soubor, vyhodnotit výraz, atd.). Editor je okno, ve kterém upravujete zdrojové soubory. Listener je interaktivní konzole, která umožňuje okamžitě vyhodnocovat výrazy. Helper zobrazuje doplňující informace o zdrojovém kódu.
Program PP Polyglot je třeba uložit na lokální disk a z něj ho spouštět. Při spuštění programu se vám automaticky stáhnou všechny zdrojové kódy, texty a případně i slidy z přednášek. PP Polyglot se spustí vždy ve stavu aktuální přednášky. Je-li v souboru z cvičení chyba, PP Polyglot na to upozorní a otevře daný soubor s chybou. Ostatní soubory (novější) se nenačtou, to znamená, že ani funkce definované v souboru z přednášky nemáte načtené! V tomto případě musíte chybu opravit a program znovu spustit nebo vyhodnotit ostatní soubory (včetně toho z přednášky).
V Editoru píšete zdrojový kód aplikace. Je v něm otevřen buď váš zdrojový kód, do kterého plníte zadání a úkoly nebo zdrojový kód z přednášky, který nelze upravovat. Jednotlivé výrazy v Editoru můžete vyhodnocovat v menu Code > Evaluate Expression nebo můžete vyhodnotit všechyn výrazy pomocí Code > Evaluate All Expressions. Případně máte možnost vyhodnotit všechny potřebné souborz v Code > Evaluate Required Files.
Listener je interaktivní konzole pro vyhodnocování výrazů. Výraz do konzole zadáte a vyhodnotíte stiskem klávesy Enter. V Listeneru můžete testovat funkce definované a vyhodnocené v Editoru.
Okno Symbol Info otevřete z menu Help > Sybol Info, nebo pomocí tlačítka "⋯" vpravo dole v okně. Toto okno poskytuje veškeré informace o symbolu. Dozvíte se, zda je symbol funkce nebo speciální operátor, jeho syntaxi a jeho dokumentaci (pokud ji má). Pokud je symbol globální proměnná nebo proměnná listeneru, zjistíte její hodnotu.
Dokumentace symbolu se zobrazí pokud začnete psát výraz a stisknete mezerník, případně pokud daný symbol v Listeneru nebo Editoru označíte.
Při psaní kódu se vám může hodit znát seznam parametrů dané funkce. K tomu slouží Helper, což je jednořádková lišta ve spodní části okna. Po tom, co napíšete název funkce a stisknete mezerník, se v Helperu objeví informace o syntaxi daného symbolu.
Každý soubor nemusí být napsaný v témž programovacím jazyce, v rámci kurzu jich je více (lisp, scheme, ...). Aby PP Polyglot věděl, ve kterém jazyce je zdrojový kód v otevřeném souboru napsaný využívá tzv. atributy souboru. Ty mu sdělují různé informace o souboru. Pojďme se na ně podívat.
Soubor má atributy, které určují kurz pro který je určen. Jsou to atributy "Year", "Name" a "Lecture". Možnost "Set to current" určí, že daný soubor patří k aktuální přednášce.
Než se vyhodnotí všechny výrazy v otevřeném souboru je třeba načíst například soubory z přednášky a všechny předchozí definice, které jste si napsali. Soubor je tedy závislý na dalších souborech. V sekci "Loading" můžete právě tyto závislosti upravovat.
V "Language" můžete nastavit jazyk, ve kterém je daný soubor napsaný (v průběhu kurzu jich bude více). "Depends on" má tři možnosti, z nichž můžete vybrat právě jednu. "Previous" říká, že je soubor závislý na předchozím souboru, který se automaticky načítá. To je běžné v PP1, kde si dopisujete funkce do jazyka, které následně využíváte. "None" říká, že soubor není závislý na žádném předchozím. Kromě základních funkcí daného jazyka se tedy nenačte nic. Možnost "Choose..." vám dává možnost určit si, který soubor se načte před načtením souboru, ve kterém právě upravujete atributy. Zaškrtávací políčko "Automatic Load" určuje, zda se má soubor při spuštění načíst (vyhodnotí se všechny výrazy v něm). Pokud není políčko zaškrtlé, otevře se soubor bez vyhodnocení výrazů v něm.
Předvolby naleznete v menu File > Settings. Zde si můžete nastavit font a jeho velikost. Další možnosti jsou stroj času a uživatelský adresář.
Stroj času je nástroj, pomocí kterého můžete "cestovat časem" do libovolného akademického roku, kurzu nebo přednášky. Stroj času je určen zejména pro období, kdy se budete připravovat na zkoušku. Checkbox "Travel to Another Time" (de)aktivuje stroj času. Možností "Academic Year" vyberete akademický rok, do kterého se budete chtít přesunout. Možností "Course" vyberete požadovaný kurz (PP1 - PP4) a v "Lecture" určíte konkréktní lekci, která bude aktuální.
Uživatelský adresář je adresář, ve kterém jsou uloženy vaše soubory z cvičení. Jeho umístění najdete v preferencích File > Settings. Zde lze umístění změnit. Při změně umístění uživatelského adresáře máte možnost zkopírovat veškeré soubory zaškrtnutím "Copy your files to the new location" (například pokud měníte umístění v půlce semestru) do nového adresáře.
Pokud narazíte na chybu a budete o ní chtít poslat report vývojářům, můžete tak udělat v menu Help > Report Bug. Následně se vám otevře okno Bug Report. V tomto okně uvidíte log chyby. V pravém dolním rohu okna máte dvě tlačítka. "Copy Report" zkopíruje log do schránky (tak jako když zkopírujete text pomocí Ctrl + C). "Open Mail Client..." otevře emailového klienta s předvyplněným příjemcem a předmětem. Do zprávy zkopírujte log případně popište postup, který k chybě vedl.
V menu Help > Send Bug Report by Email... Následně se otevře váš emailový klient s připravenou zprávou k odeslání.
Nejspíš máte chybu v souboru ke cvičení. Přečtěte si sekci Spuštění
Text z přednášky je dostupný v menu File > Open... nebo zkratkou Ctrl+O. Následně dvojklikem otevřete soubor z přednášky (např. 01 lecture.pdf) ve výchozím prohlížeči pdf souborů.
Nejspíš se snažíte upravit soubor z přednášky nebo jiného kurzu, ten nejde upravovat. Upravovat můžete pouze soubory ke cvičení.
Soubor, který způsobuje chybu je nutné přesunout mimo adresář se soubory z cvičení. Jedná se o váš uživatelský adresář. Vizte uživatelský adresář
Spouštějte PP Polyglot z lokálního disku, havarování aplikace by mělo přestat.