Rudolf Pecinovský: Baltíka jsme zvládli – kam dál?

Wednesday, October 16, 2002 ·

Ve svém posledním článku jsem psal, že v kroužku pokročilých začínáme letošní rok s programováním v jazyku Java. Několik známých, kteří také učí na základních školách programování, se mne ptalo na důvody tohoto rozhodnutí. Pokusím se je zde vysvětlit. Proč změna

Jak jsem již naznačil v minulém článku, nechci děti učit využívat nejrůznější speciální triky a fígle v nějakém konkrétním prostředí, ale chci je učit základům moderního programování. Abych tak mohl učinit, musím si vybrat takový jazyk, který podporuje co nejširší spektrum možností, které se v moderním programování využívají. Takovým jazykem, bohužel, Baltík není.

Pro výuku základů programování toho Baltík nenabízí málo (kompletní sada programových konstrukcí, literály a pojmenované konstanty, lokální a globální proměnné, procedury s parametry volanými hodnotou i odkazem, pole, soubory, logické i bitové operace, základy práce s klávesnicí a myší), ale po roce, nejvýše po dvou se jeho nabídka vyčerpá. Pak nám začnou při výuce chybět funkce a především pak možnost definovat datové typy, o objektově orientovaném programování ani nemluvě.

Nezbývá tedy, než se obrátit k nějakému jazyku, jehož paleta nástrojů a možností je výrazně komplexnější.


Proč Java

V závěrečném článku série zveřejněné v loňském školním roce (Přechod na klasické programovací jazyky - finální výběr) jsem dospěl k závěru, že chceme-li ze svých svěřenců vychovat budoucí programátory, kteří budou schopni sledovat další vývoj programových technologií, měli bychom si zvolit jazyk Java nebo C#. Já jsem zvolil jazyk Java.

Důvodů, které hovoří v jeho prospěch, je celá řada. Rozdělil bych je do tří kategorií: první vychází z vlastností samotného jazyka, druhá z jeho použitelnosti ve výuce a programátorské praxi a třetí ze snadné dostupnosti potřebných nástrojů.


Vlastnosti jazyka

  • Java je moderní, objektově orientovaný jazyk, který již neumožňuje programovat klasicky (i když – jak pamětníci vědí – opravdový programátor dokáže vytvářet fortranské programy v každém programovacím jazyce).

  • Je maximálně jednoduchý a čistý bez záplavy nejrůznějších výjimek a specialit (na rozdíl např. od Visual Basicu nebo C++). S výjimkou polí nemá žádné vlastní datové struktury, vše je řešeno prostřednictvím knihovních modulů.

  • Pokrývá prakticky celé spektrum úloh, jejichž řešení chceme žáky naučit. Nabízí relativně jednoduché a elegantní prostředky i pro takové “fajnovosti”, jakými jsou programování sady vzájemně kooperujících procesů, událostmi řízené programování, práci v síti, tvorba distribuovaných aplikací, webové služby a další.

  • Zrušil používání ukazatelů, které jsou považovány za datovou obdobu zatracovaného příkazu GOTO (jako programátorovi mi to může vadit, protože se s ukazateli daly dělat fantastické věci, ale jako učitel to musím přivítat) a zavedl automatickou správu paměti (garbage collector), což výrazně zvýšilo produktivitu práce a robustnost výsledných programů.

  • Používá se při vývoji aplikací všech rozměrů od mikroaplikací pro čipové karty, přes aplikace pro mobilní telefony (tam se dokonce jiný jazyk prakticky nepoužívá) a stolní počítače až po rozsáhlé distribuované systémy běžící na řadě navzájem kooperujících počítačů.

Použití Javy ve výuce a v praxi
  • Není závislý na operačním systému. Tentýž program napsaný v Javě může běžet pod Windows či Linuxem stejně jako pod operačním systémem počítačů Macintosh či na sálových počítačích IBM. To nemluvím o tom, že k programování mobilních telefonů, což je současný hit, je Java téměř nutná (tam se Microsoft zatím neprosadil).

  • Stále více vysokých škol zavádí Javu jako programovací jazyk svých úvodních kurzů programování. V této oblasti již má Java ve světě téměř dominantní pozici.

  • Podle studie zveřejněné v červencovém Software Development Times by se v příštím roce měla Java stát nejpoužívanějším programovacím jazykem vývojářů (mělo by ji používat 52,6  % firem). U velkých projektů Java již nahradila donedávna dominantní C++, takže 60  % velkých softwarových projektů otevíraných v letošním roce bylo programováno v Javě.

Poznámka: Přiznejme si, že momentální pozice Javy jako nejpoužívanějšího programovacího jazyka bude pravděpodobně dočasná, protože lze čekat, že Visual Basic .NET se díky popularitě svého předchůdce při vývoji drobných aplikací a hlavně díky očekávané podpoře v příštích verzích balíku Office asi časem vydrápe na vedoucí postavení zabírané do letošního roku jeho předchůdcem – i když kdo ví? Zatím se zastánci starého VB přechodu na tento nový jazyk zuby nehty brání, protože je nutí programovat čistě – viz např. článek v ComputerWorld 34/2002.


Dosažitelnost nástrojů
  • Nejen vlastní Javu, ale i řadu profesionálních vývojových prostředí je možné získat zdarma. Tato prostředí přitom nabízejí funkcionalitu srovnatelnou s komerčními prostředími, za která zaplatíte více než 100 000 korun.

  • Lze pro ni zdarma sehnat i speciální vývojová prostředí zaměřená právě na výuku (o jednom z nich příště napíšu), a to včetně prostředí lokalizovaných, což je pro děti ze 4. až 7. třídy, které ke mně chodí do kroužku pokročilých, velice cenné.

  • Lze pro ni (často opět zdarma) sehnat řadu dalších doplňkových aplikací určených pro zvýšení efektivity programování (UML, refaktoring, kolektivní vývoj, …).

  • Lze pro ni zdarma sehnat i serverové náležitosti umožňující (když k tomu mají žáci předpoklady) i vývoj distribuovaných systémů, které sice na první pohled spadají zcela mimo hranice možností takovýchto kroužků, ale opravdu jen na první pohled. Při současném stavu technologií a vývojových nástrojů již není vývoj takovýchto aplikací tak těžký, aby jejich jednodušší verze 14letí programátoři pod odborným vedením nezvládli. (Znám 16leté samouky, kteří to umějí.)


Shrnutí

Vynechám-li didaktickou hodnotu jazyka, která je nesporná, tak jeho velikou výhodou je to, že stačí jednou investovat do dostatečně silného hardwaru a vše ostatní potřebné již lze stáhnout z webu. Nemusím se tedy obávat, že po každém dalším kroku směrem k dokonalejším technologiím budu muset rodičům zdůvodňovat další náklady.

Java je sice poněkud náročnější na hardware počítače, ale v době, kdy cena potřebných 256 MB paměti začíná na 1400 Kč, nepovažuji její nároky pro kroužek pokročilých za přehnané, zejména srovnám-li to s cenami, které děti platí za výuku na hudební nástroje nebo vybavení pro sport.

Judith M. Bishop nedávno ve svém článku A philosophy of teaching Java as a first teaching language napsala: “Nyní se již neptáme, zda učit Javu, ale jak ji učit.” – a o tom si začneme povídat příště.

Příště se pokusím zamyslet nad tím, jak učit objektově orientované programování.


Autor pracuje jako EDU expert ve firmě Amaio Technologies, Inc.




    Rudolf Pecinovský

    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.