Rudolf Pecinovský: Přechod na klasické programovací jazyky – vlastnosti vývojových prostředí

úterý 6. listopadu 2001 ·

Ve dvou minulých článcích jsem ukazoval výhody, které nám pro výuku programování nabízí použití speciálních výukových programovacích nástrojů. Tyto nástroje jsou pro zvládnutí základů opravdu nejvhodnější, ale v jistém okamžiku stejně budeme muset přejít na některý klasický programovací jazyk. Ale jaký?

Za pomoci speciálních výukových vývojových prostředí můžeme žáky velice rychle a efektivně naučit základům strukturovaného a částečně i modulárního programování. Tato vývojová prostředí (s výjimkou některých verzí Karla) však nepodporují objektově orientované programování, které dnes hýbe světem. Při další, pokročilejší výuce je proto musíme většinou opustit a uchýlit se k některému z „opravdových“ programovacích jazyků. Pokusím se nyní naznačit, jak si mezi nimi vybrat.

Podívejme se nejprve na hlavní zásady, které bychom měli mít při výběru jazyka pro výuku programování na zřeteli.


HW nároky použitého prostředí

Vývojová prostředí bývají náročná na HW počítače. Chceme-li učit programování, musíme si nejprve ujasnit, jaké počítače máme k dispozici a jaká jsou jejich omezení. K čemu je nám sebegeniálnější jazyk a vývojové prostředí, když v daném jazyku při hodinách nic nenaprogramujeme a jeho vývojové prostředí dokonce ani nespustíme.

Nemůžeme se spokojit s tím, že daný jazyk a vývojovém prostředí mají žáci instalován na svých domácích počítačích. Potřebujeme je mít i v učebně. V opačném případě bychom se v hodinách museli omezit na pouhou teorii a neměli bychom možnost pomoci žákům s jejich případnými problémy.

Hlavním problémem bývá paměť. Většina počítačů, které jsou v počítačových učebnách našich škol, nemá k dispozici 128 a více MB paměti, které současná vývojová prostředí často vyžadují.


Dostupnost vývojového prostředí

Další z omezujících podmínek je dostupnost vývojových prostředí pro daný programovací jazyk. Jazyky, jejichž vývojová prostředí jsou k dispozici zdarma, nám budou samozřejmě mnohem sympatičtější než jazyky, za jejichž vývojová prostředí budeme muset draze platit.
Někteří výrobci vývojových prostředí nabízejí základní verze svých prostředí zdarma. Tyto základní verze již poskytují poměrně velký komfort včetně bohatých ladících možností. Od verzí poskytovaných za úplatu se tyto „zadarmózní“ verze většinou liší trochu menším komfortem nadstavbových možností, a především pak absencí různých programátorských nástrojů pro spolupráci s databázemi, vývoj větších aplikací a dalšími vymoženostmi.

Někteří výrobci nabízejí zdarma pouze řádkový překladač a za všechny verze integrovaných vývojových prostředí již musíte platit. Řádkový překladač lze v nouzi také použít. Mnozí vyučující mu dokonce dávají přednost (za příklad mohou sloužit učebnice jazyka Java, jejichž autoři používají řádkový překladač, přestože je pro tento jazyk k dispozici řada kvalitních vývojových prostředí zdarma).

Já bych se však přimlouval za to, abyste své žáky učili programovat ve vývojovém prostředí, které z nich sejme řadu starostí s úpravou programů (automaticky odsadí příkazy ve vnořených blocích, zarovná příkazové závorky, generuje standardní komentáře, za chodu kontroluje syntaxi vkládaných příkazů atd.). Tím žákům umožní se soustředit na řešený problém a nerozptylovat se okrajovými záležitostmi.


Schopnosti vývojového prostředí


Tento bod již není klíčový a při rozhodování a použitém jazyku k němu většinou nepřihlížíme. Může však sloužit jako pomocné kritérium v okamžiku, kdy se rozhodujme mezi dvěma jazyky a potřebujeme ještě nějaké dodatečné kritérium, které by nás vychýlilo z rovnovážného stavu, když nevíme, kterému jazyku dát přednost.

Co nám současná vývojová prostředí nabízejí? Je toho hodně. Při editaci můžeme např. využít:

  • barevně zvýrazněnou syntaxi,
  • kontrolu syntaxe během vkládání programu,
  • automatické formátování vkládaného programu – sem patří
  • automatické odsazování vnořených bloků,
  • automatické zarovnávání příkazových závorek,
  • vkládání celých složitých příkazů podle předem zadaných vzorů (definice třídy, definice funkce, podmíněný příkaz atd.),
  • automatické dokončování,
  • nabízení dostupných atributů a metod,
  • nápověda při vyplňování parametrů funkcí,
  • možnost grafického návrhu programu a jeho převedení do zápisu odpovídajícímu syntaxi použitého jazyka,
  • možnost modifikace grafického návrhu podle změn v kódu a naopak modifikace kodu podle změn v grafickém návrhu.

Při ladění programů se otevírají další možnosti:
  • nastavování zarážek (breakpoint),
  • krokování programu,
  • možnost zadání nového místa, odkud bude program pokračovat,
  • možnost změny programu v průběhu jeho krokování a nastavení ukazatele instrukcí tak, aby se počítač vrátil a znovu proběhl danou, tentokrát již opravenou část programu,
  • možnost sledovat (a případně i měnit) za chodu programu okamžité hodnoty všech proměnných.

Jak vidíte z předchozího výčtu nejčastějších nabízených funkcí, nabídka současných vývojových prostředí je opravdu rozsáhlá. Nejenom že usnadňuje programátorský život, ale zároveň výrazně zvyšuje produktivitu práce. Proto se přimlouvám, abyste hned od počátku naučili své žáky s takovýmto prostředím pracovat a maximálně využívat jeho možností.


Vývojová prostředí umožňující předběžný návrh v UML

Množí se profesionální vývojová prostředí, která nabízejí možnost navrhnout program nejprve graficky. Tento grafický návrh pak prostředí automaticky převede do syntaxe použitého programovacího jazyka. Dokonalejší prostředí umějí mezi grafickou a textovou podobou programu přepínat. Když program zobrazovaný v textovém tvaru upravíte, promítne se úprava i do příslušného grafického návrhu a naopak.

Ti z vás, kteří někdy pracovali se systémem SGP nebo s programovacím systémem Baltazar, možná právě zajásali, že takovýto systém znají a případně i používají. Bohužel je musím zklamat. Jak jsem již řekl v některém z předchozích dílů, systém SGP graficky znázorňuje pouze základní strukturu algoritmu jednotlivých funkcí. To je však opravdu pouze závěrečný zlomek práce, kterou je třeba při návrhu programu udělat. Před tím, než se probojujeme k návrhu algoritmů jednotlivých funkcí, je třeba udělat obrovské množství další práce, s nímž nám systémy tohoto druhu nepomohou.

V současné době se pro grafický návrh programu standardizovalo používání jazyka UML (Unified Modelling Language – sjednocený modelovací jazyk – seznámit se s ním můžete např. v knize „Myslíme v jazyku UML“, kterou vydalo nakladatelství Grada). Tento jazyk umožňuje popsat všechny fáze vývoje systému od počátečních koncepčních úvah až po závěrečnou specifikaci rozmístění jednotlivých komponent na příslušné počítače.
Je zřejmé, že vývojové nástroje, které umožní pracovat střídavě s grafickou a textovou podobou programu, umožní našim žákům vyvíjet daleko složitější programy, protože se v nich dokáží stále vyznat. Zároveň je lépe připraví na nástroje, s nimiž se budou pravděpodobně setkávat ve své další profesionální praxi.

Příště si povíme, co bychom měli požadovat od programovacího jazyka, a poté si probereme jednotlivé v úvahu přicházející jazyky a pokusíme se je podle těchto kritérií zhodnotit.

Rudolf Pecinovský

0 komentářů:

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