pátek 26. října 2007

Potřebujeme silné nástroje

Dnes jsem si v jedné nejmenované diskusní skupině přečetl, že vizuální návrháře nepatří do IDE, protože jsou často zneužívány v rukouch méně zkušených vývojářů. Tento názor je odvozen podlé mého soudu z ještě obecnější teze, a to že nástroje, které se snaží zakrývat komplexnost dané technologie jsou špatné, protože vedou k špatnému používání dané technologie. Já osobně tento názor nesdílím a považuji jej za jeden z velkých mýtů přeživších z dob špatných HTML editorů. Na následujících řádcích vám zkusím nastínit proč.

Skrývání komplexnosti vývoje je právě ten důvod proč používáme IDE (vývojová prostředí). Kdyby byla tato komplexnost vývoje malá, používali bychom dodnes textový editor a kompilátor ovládaný z příkazové řádky. Dnešní vývoj je ohraničen mantinely jako znovupoužitelnost, standardizace a dalšími. Ty mají za jediný cíl posunout celý proces vývoje dál, výše rychleji s co nejnižšími náklady.

Z tohoto důvodu jsou dnešní programy protkané různými abstrakcemi a technologiemi, které řádově zvyšují jeho složitost a tím pádem se zvyšuje i komplexnost vývoje. IDE by nám měly umožnit držet tuto komplexnost na přijatelné úrovni vzhledem k naší znalosti kontextu. Zkušený a nezkušený vývojář má na IDE různé nároky a IDE by mělo umožnit stejnou efektivitu oběma. V případě méně zkušeného vývojáře to mohou klidně být různí průvodci (wizzardy) pro vytipované případy užití (nová stránka, přechod mezi stránkami, mapování entity) a nebo vizuální editory. Zkušenému vývojáři budou stačit méně specifické prostředky jako editor kódu.

IDE by se rozhodně nemělo snažit upřednostňovat jeden způsob na úkor druhého, rozhodně ne z důvodu možného zneužití dané technologie. Ta jde totiž zneužít bez ohledu na jestli použijete vizuální návrhář a nebo to napíšete ručně. Dnešní IDE si vzala lekci z vizuálních HTML editorů přelomu tisíciletí a nesnaží se pouze o co největší efektivitu, ale i o to, aby vývojáře částečně vedly k správnému používání dané technologie.

Samozřejmě ne vše je úplně ideální. V oblasti IDE pro platformu Java je znát rozdílná filozofie jednotlivých produktů. NetBeans jsou vhodným nástrojem pro méně zkušené vývojáře, naopak Eclipse a IntelliJ IDEA je vhodnější pro zkušenější uživatele. Kdyby bylo možné tyto tři IDE spojit dohromady, získali bychom velice silný nástroj pro skrývání komplexnosti v závislosti na úrovni znalostí vývojáře.

Reakce