Potřebujeme silné nástroje aneb vyvíjet kvalitní aplikace je stále stejně těžké
28. October 2007
V tomto článku chci zachytit jenom několik myšlenek, které mě napadly při čtení článků od Potřebujeme silné nástroje. a Potřebujeme domyšlené nástroje a některých dalších komentářů.
Úvaha 1 – Mění se způsob práce, komplexnost zůstává
Dnes sice existují silné IDE, které začátečníka odstíní od elementárních úkonů, ale také je k dispozici více informací (článků, knih, kurzů, výuka ve škole) o daných tématech.
Myslím, že je situace uplně stejná jako před léty kdy sice člověk musel kompilovat zdrojáky javy z příkazové řádky, ale to byla jiná doba – méně informací, jiné nástroje jednoduše nebyly. Začátečníkovi je jedno jestli má IDE nebo příkazovou řádku – obojí je pro něj tako nové, nepochopitelné, že v prvních dnech nachápe aní jedno. Ortodoxní zastánce Assembleru může ohrnovat nos nad jazyky jakými je např. java, které jsou proti Assembleru „abstraktní“.
Když jsem před mnoha léty byl na setkání obchodních reprezentaců ČMSS mluvili spolu dva účastníci o tom, zda je bylo těžší schánět lidi, kteří by byli ochodní uzavřít smlouvu o stavebním spoření, před léty – když se stavební spoření v ČR rozjíždělo, nebo teď když už to všichni znají – odpověď byla zajímavá – je to pořád stejně těžké. Dřív byl větší trh (10 milionů potenciálních klientů) ale malá důvěra. Dnes je důvěra velká, ale trh se zmenšil na zlomek (mnoho lidí už stavební spoření má uzavřeno).
Myslím, že tento příklad snese srovnání i se světem programátorským – být dobrým programátorem (vyvíjet kvalitní aplikace) je pořád stejně těžké.
Úvaha 2 – Programujeme nebo lepíme?
V úvaze Programujeme nebo lepíme jsem se dočetl že:
Ale napadlo mě, že dneska už vlastně tolik neprogramujem, spíš skládáme (lepíme) dohromady existující kousky. Však se potichu šušká, že vše už bylo alespoň jednou napsáno.
A jaký je tedy závěr? I nadále programujeme, ale stále více se uchylujeme k lepení. A zda lepíme pomocí GUI klikátek nebo ne, to si musí každý rozhodnout sám, ale já jsem se rozhodl: „Raději ne, děkuji“.
Můj názor je ten, že je zatraceně jedno, jestli klikáte nebo programujete zdrojáky přímo. Používat by se měl ten způsob, který nás co nejrychleji pusune k cíli. Někdy je ten způsob naklikání a jindy ruční nakódování (zpravidla je to kombinace obou přístupů).
PS: Nejlepším lepidlem posledních let jsou anotace. Abychom se do toho lepidla, ale nezalepili sami.
Zalepit se lze od anotací i od XML konfigurace. Dobré je navrhovat architekturu aplikace tak, abychom toho lepidla potřebovali co nejméně – jednoduše nelepit jen proto, abysme ukázali, že umíme lepit.
Úvaha 3 – Stop pokročilým IDE pro začátečníky?
V jednom příspěvku na konferece (at) java.cz jsem se dočetl:
Silna podpora v IDE? Ano, to je presne to, co NESMIE mat zaciatocnik, ktory potrebuje najskor pochopit, co presne musi implementovat, konfigurovat, ako to prelozit a ako to deploynut. Ked vsetko toto vie urobit rucne, moze pouzit vykonnu podporut v IDE aby robil veci rychlejsie a nezatazoval sa „reziou“ frameworku. Ak mu polovicu veci skryjete za IDE, tak ten framework nikdy nepochopi.
Tak s tímhle nesouhlasím. Pro začátečníka i pokročilého uživatele je důležité mít možnost si kostru aplikace naklikat. To jestli se začátečníka stane skutečný znalec dané technologie vůbec nezávisí na IDE, ale na člověku samotném.
Z vlastní praxe – PHP jsem se učil na jednoduchých „IDE“ – například Ultraedit. C# jsem se učil v plnotučném Visual Studiu, Javu jsem začal dělat v Eclipse. Naučil jsem se dobře všechny zmiňované jazyky – a IDE v tom nehrálo žádnou roli.
A ještě jeden příklad z praxe – na semináři o PHP byl představen framework Symfony – dva přednášející začali výklad přehledem možností spouštění frameworku z příkazové řádky, dál se vysvětlovala konfigurace v YAML souborech. To trvalo asi 45 minut – poté se někdo ze sálu zeptal jestli se při práci se Symfony ještě taky vůbec programuje v PHP. Další připomínka byla, že než se dostanu k psaní samotného kódu aplikace strávím několik dní vytvářením konfigurace.
Je krásně vidět, že tazatelé ani v jednom případě nepochopili výklad. YAML soubory nahrazují vlastní kód aplikace. Proč za každou cenu kódovat podobný kus kódu znovu a znovu? Symfony obsahuje defaultní konfiguraci a v té vygenerované jenom přepíšeme hodnoty, které chceme v našem projektu změnit (convention over configuration). Ve druhém případě tazatel nepochopil, že konfigurační soubory jsou vygenerovány automaticky – a je zcela jedno jestli je vygenerován automaticky YAML soubor nebo PHP třída. Co tím chci říct? Že i když se přednášející snažili předvést sílu frameworku na jednoduchých utilitách (příkazová řádka), tak to přesto nebylo částí obecentstva pochopeno. Věřím tomu, že kdyby existovalo IDE s podporou Symfony, tak by jeho skvělé schopnosti byly demonstrovatelné mnohém lépe – a o to pří seznamování s novým frameworkem jde.
Závěr
Myslím, že (stejně jako v ostatních aspektů života) nemusíme mít strach, že ke zlepšováním IDE nebude docházet. Pokrok a konkurence jsou úžasně zdravá věc.
Článek patří do kategorie: Ostatní
5 Komentářů Přidat komentář
1. truhla | 29. October 2007 v 7.59
Hrubka hned v první větě. Myšlenky napadli.
2. truhla | 29. October 2007 v 8.02
„způsob, který nás co nejrychleji pusune k cíly“
3. Vlasta | 29. October 2007 v 8.29
[1][2]Děkuji za upozornění na chyby.
Potěší mě i takováto reakce (v příštím článku už chyby do článků psát schválně nebudu :)
4. Dundee | 29. October 2007 v 21.45
Při prvním kontaktu se Symfony mě YML také vyděsily. Byl to jakýsi video tutoriál a ten člověk tam celou dobu jen psal YML a pak do konzole. Zdroják vůbec vidět nebyl.
Po přednášce už chápu, že v tom může být velká síla.
5. 2considered&hellip | 13. January 2022 v 0.48
3breaker…
…
Přidat komentář
Povolené HTML značky:
<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <code> <em> <i> <strike> <strong>
Odkazovat na tento článek | Přihlásit se k odběru těchto komentářů přes RSS Feed