BlueJ: Porovnání verzí

Smazaný obsah Přidaný obsah
MatSuBot (diskuse | příspěvky)
m doplnění infoboxu; narovnání šablon
odstranění textu porušující nezaujatý úhel pohledu
Řádek 1:
{{celkově zpochybněno}}
{{Infobox - software
| obrázek = BlueJ1.gif
Řádek 12 ⟶ 11:
* česky [[Rudolf Pecinovský]]: ''OOP: Naučte se myslet a programovat objektově''
* anglicky David J. Barnes & Michael Kölling: ''Objects First with Java (A Practical Introduction using BlueJ), 4th ed''
 
== Kritika ==
Ačkoliv je BlueJ určen právě pro výuku programování, dle názoru řady programátorů{{kdo?}} se ani k tomuto účelu vůbec nehodí. Dle jejich názoru se jedná o software, který je zcela nepoužitelný v reálném světě a jeho možnosti jsou extrémně omezené. Praxe ukazuje, že studenti v BlueJ dosahují výrazně horších výsledků než v reálně užívaných IDE, jež obsahují například kvalitní intellisense.{{Doplňte zdroj}}
 
=== Tabulátory ===
BlueJ ani ve verzi 3.1.0 stále nepodporuje tabulátory. V praxi to znamená, že při stisknutí tabulátoru doplní do kódu čtyři mezery namísto jednoho znaku tabulátoru. Ačkoliv se o používání mezer a tabulátorů vedou mezi programátory rozsáhlé spory, nemožnost podporu tabulátorů zapnout lze považovat za zásadní nedostatek - a to zejména z toho důvodu, že odsazení pak nelze odmazat jedním stisknutím klávesy backspace, ale je nutné jej stisknout celkem čtyřikrát. Praxe ukazuje, že studenti pak raději neodsazují a jejich kód je pak naprosto nečitelný a zcela chybně formátovaný.{{Doplňte zdroj}}
 
=== Spouštění kódu ===
BlueJ neumožňuje spuštění celého projektu jednou klávesovou zkratkou. Je tak nutné projekt nejdříve ručně zkompilovat stisknutím tlačítka "Compile" v hlavním okně, poté otevřít kontextové menu dané třídy a zde zvolit konkrétní metodu ke spuštění. Objeví se dialogové okno nabízející možnost ručně doplnit parametry a teprve po odklepnutí tohoto dialogu se kód konečně spustí.
 
Tento zdlouhavý proces tak vede mladé budoucí programátory k tomu, aby nejprve napsali rozsáhlý kód a teprve poté jej spustili a opravili případné chyby.{{Doplňte zdroj}} Tento špatný návyk se poté budou v praxi velmi obtížně odnaučovat, neboť testovat je nutné okamžitě.{{Doplňte zdroj}} Pouze tak si člověk ověří, že jím zapsaná konstrukce se skutečně chová tak, jak by očekával.
 
=== Smart home ===
BlueJ nezvládá tzv. smart home, neboli přemístění kurzoru na skutečný začátek řádky (tzn. před první nebílý znak) při stisknutí klávesy home. Namísto toho vždy přesune kurzor na první sloupec, který však ve většině případů kvůli obsazení žádný znak neobsahuje. Programátor se pak musí přesouvat na první slovo, které se nachází až více napravo.
 
=== Intellisense nad názvy tříd z přilozených knihoven ===
BlueJ nedokáže doplňovat názvy tříd. Zatímco například ve vývojovém prostředí Eclipse se automaticky prohledávají názvy tříd ze všech přiložených knihoven a dokonce je lze i jednou klávesovou zkratkou naimportovat, v BlueJ je nutné vše zapisovat ručně. Je tedy nutné přesně znát fully-qualified názvy všech užívaných tříd a ručně zapisovat i všechny importy (kterých jsou velmi často i desítky).
 
=== Hlášení chyb ===
Zatímco kritické chyby při kompilaci jsou hlášeny rovnou do stavového řádku aplikace, varování jsou hlášeny vyskočením dialogového okna. V praxi užívaná IDE kód analyzují průběžně a veškeré chyby oznamují ihned po napsání kódu. Pokud tedy programátor někde zapomene závorku, dozví se to okamžitě. V BlueJ musí nejprve ručně spustit kompilaci a teprve poté se dozví, že v kódu udělal takto banální chybu.
 
=== Prohlížení zdrojových kódu ===
BlueJ neumí otevírat zdrojové kódy, které jsou uložené samostatně. Umí otevřít pouze jiný projekt, který již byl vytvořen v BlueJ.
 
=== Adresářová struktura projektu ===
BlueJ generuje amatérsky vypadající adresářovou strukturu. Přímo v kořenovém adresáři projektu se mixují zdrojové kódy se zkompilovanými *.class soubory a dále soubory *.ctxt, které slouží interně pro BlueJ. Tím se u mírně rozsáhlejších projektů zásadně komplikuje například zálohování či odevzdávání prací (hodnotitel práce si projekt obvykle zkompiluje sám).{{Doplňte zdroj}}
 
V adresáři se dále nachází adresář ''doc''. Je nutné podotknout, že jednotlivé balíky (package) v Javě jsou pouhopouhé podadresáře. Vytvoření nových balíků by tak mělo za následek, že budou na stejné úrovni ve stromové hierarchii, jako je adresář obsahující dokumentaci. Pokud by se programátor pokusil vytvořit přímo balík ''doc'', dočkal by se nehezké a neomluvitelné chyby při kompilaci.
 
== Externí odkazy ==