Hlavní navigace

Názor ke článku Jaký jazyk jako první? od Natix - Co zde nikdo zatím nezmínil, je že výhodu...

  • 19. 2. 2014 1:42

    Natix (neregistrovaný) 2a00:1028:8386:----:----:----:----:----

    Co zde nikdo zatím nezmínil, je že výhodu při výuce mají jazyky, kde student pro napsání a spuštění jednoduchého programu nemusí několik minut startovat těžkotonážní IDE, proklikávat se několikastránkovým wizardem, aby pak nakonec svých pár řádek kódu umístil mezi tunu předgenerovaného boilerplatu, který v danou chvíli stejně vůbec nechápe. Ano, ať už je Java jakákoliv, tohle je její asi největší problém při výukovém použití.

    Moci spustit program jako skript z příkazové je fajn, ale jazyky, u kterých existují interaktivní REPL konzole (většinou alespoň částečně funkcionální), jsou v použitelnosti pro výuku nesrovnatelně dál. Moci napsat jakýkoliv kus kódu a rovnou vidět jeho výsledek, aniž bych se musel jakkoliv zabývat s IO, je prostě super.

    To, že prakticky první věc, která se na algoritmizaci učí, je výpis na system out, čtení z klávesnice a nedejbože ze souboru, to celé za doprovodu celé baterie javovských streamů/reade­rů/printerů a kdoví čeho dalšího, je zlo, které těm studentíkům naprosto kriplí způsob uvažování na dlouho dopředu. Ve chvíli, kdy každý kus kódu je výraz (a tím pádem hodnota), nemusím vůbec přemýšlet nad naprosto podružným detailem, jako jak načtu zadání ze souboru a jak ho naformátovaně vytisknu, ale můžu se zabývat tím opravdu důležitým, a to jak spočítám XY (doplňte).

    (Ne)syntaxe lispu je sice pro nepřipravené šok, ale začínat jím výuku podle mě dává smysl a ve výsledku je to jenom o zvyku. A pokud vám závorky opravdu vadí, tak bych bral Scalu. Je to sice po C++ asi druhý nejkomplikovanější jazyk vůbec, přesto ale dokáže být velmi kompaktní a jednoduchá, pokud si omezíme obor toho, čím se chceme zabývat (ověřeno prakticky ve webovém kurzu vedeném přímo M. Oderskym). Navíc existuje tzv. Scala worksheet https://github.com/scala-ide/scala-worksheet/wiki/Getting-Started - což je velmi zajímavý hybrid kombinující interaktivnost REPL konzole a sílu klasického IDE editoru.