Písanie kódu
Ale samozrejme, Martin Malý má pravdu. Teraz však premýšľam, či cesta ku webovým aplikáciam (stále premýšľam, či stále rozdeľujeme webové stránky a webové aplikácie) je cez čím ďalej autonómnejšie skladačky webu v CMS alebo sa čaká ešte na niečo ešte modulárnejšie ale ešte nie „na webe“ ale kdesi v útrobách nástrojov na vývoj. Omnoho viac by to však vyzeralo ako maľovací program a omnoho viac by to už bola „umelecká“ práca silne špikovaná ergonómiou.
Mňa osobne PHP stále obchádza. Nikdy som v ňom nemusel pracovať na niečom ozajstnom. Niektorým sa to zdá neuveriteľné pretože ešte v časoch, keď Martin Malý programoval v PHP sa všetkým zdal tento jazyk jediným pre web. Niežeby som v ňom nevedel, no hneď po zoznámení s ním som objavil mne nepríjemnú skutočnosť. PHP je tisícstranový zoznam funkcií.
Neviem to prekonať a veľmi mi to vadí. Písanie v PHP je pre mňa:
* sakra viem, čo chcem, práve som si predstavil funkciu, ktorá zoberie toto, urobí s tým niečo a výsledkom je toto,
* potom pátram v online registri php.net ako sa taká funkcia volá,
* nájdem desať podobne znejúcich funkcií, u každej nalistujem k príkladom a vylučovacou metódom svoju funkciu nájdem,
* alebo nenájdem a napíšem si ju,
* vzápätí zistím, že v dokumentácií je. Vlastne v registri funkcií sú aj veci, ktoré by som nečakal.
To, čo Martin popisuje je cibuľovité vrstvenie jedného na seba. Niekedy hneď ďalšia vrstva úplne oddeľuje tie pod ňou a často sa vrstvy medzi sebou všelijako prelínajú. Kód v PHP je príklad prelínania. Vlastne, nedá sa poznať iba PHP a netušiť nič o HTML a zvyšku webových záležitostí. Pohľad do zdrojového kódu v PHP je obvykle zmes HTML, CSS, javascriptu, SQL a ešte častejšie aj rôzne ďalšie prímesy, ktorých funkciu musíš objavovať. Príkladom sú rôzne systémy so šablónami – skvelý príklad je WordPress, ktorý si do PHP ešte naviac zasunul svoj vlastný jazyk a tak ku php.net pekne pridávate aj register funkcií pre WordPress.
Toto som si potvrdil svojimi pár článkami, kde som napríklad riešil načítavanie RSS zdrojov až mi v komentároch pripomenuli, že identickú vec predsa vyriešim príkazom knižníc WP.
On ten WP vám príde celkom pohodlný systém. Prakticky nie je vec, ktorú musíš robiť mimo jeho prostredie. Aj za cenu, že editovanie kódu je len okienko TEXTAREA, ktoré ma minimálne delí od otvoreného Notepadu. Rozhodne by som WP nevedel nasadiť pred človeka, ktorý by mal riešiť „rozmiestňovanie“ modulov po stránke.
Dosť o WP, ja vidím aj svet z opačnej strany, kde sa nepostihnutí ľudia snažia nejakú aplikačnú logiku implementovať rôznymi pokusmi. Najčastejšie tieto potreby realizujú tým, čo je poruke. Potom ten svoj nápad roznášajú ako vírus do okolia. Stačí, aby niekoho napadlo, že niečo, čo má pre programátora charakter databázy, začne pchať do Excelu. Potom potrebuje tieto dáta nejako zdieľať a nasimuluje procesy klient-server ešte podivnejšími cestami.
Alebo kolega sa snaží kolaboratívne funkcie rôznych manažovacích nástrojov simulovať naozaj netradičnými cestami. Od kolujúcich formulárov (v Exceli samozrejme), kde dostanete mailom na vyplnenie dokument, ktorý po vypísaní uložíte a pošlete ďalšiemu. Pokrokom je sieťový disk, kde vás zarazí insitný systém udržovania verzií dokumentov (desať verzií toho istého s dátumami v názve súborov).
Dokumenty, ktoré prechádzajú vývojovými fázami, ktorých obsah prenášajú pomocou Ctrl-C, Ctrl-V z jednej fázy do druhej. Pri komunikácií jeden proti jednému s tým akotak viete bojovať. V momente tímovej práce to katastrofálne zlyháva. Predstavte si náhlu potrebu aktualizácie dokumentácie nad jedným dokumentom, do ktorého zapracúvajú svoje časti viacerí ľudia. A nikto nie je „pán“ dokumentu, nikto nie je ten, čo zbiera čriepky príspevkov a doskladá ich do záverečného dokumentu. A nikto ani nevyznačí svoje príspevky.
Tento svet ide spoza horizontu TAM, kam ide zo svojho sveta Martin. Ľudia ako on by pri potrebe tímovej práce nad nejakým dokumentom hľadali na to nástroj (resp. skúšali ho naprogramovať). Analyzovali by prácu s dokumentáciou, rôzne toky činností. Až by vymysleli celé to „naokolo“ ako systém nástrojov, ktoré „nepustia“ mimo, nevytvárajú žiadne seno kópií. Kedykoľvek tento systém rozbiješ požiadavkou na postup, ktorý jeho programátor nemal k dispozícií pri jeho návrhu.
Opačná strana tieto toky má vymyslené zasa virtuálne. Sú tam, používajú ich, ale bez akýchkoľvek nástrojov. Kedykoľvek vieš taký systém rozbiť „neortodoxným“ prístupom.
A tak si tu žijeme.