10 prosince 2006

 

Specifikace? Coze?!

Kdyz Tim Bernes Lee vymyslel a predstavil prvni verzi WEBu, tak urcite netusil, co tim zpusobil. Prvni specifikace byla snadna a jednoducha, ale postupem casu se zacalo nabalovat.... nabalovat... a nabalovat. V soucasny dobe je na tom HTML blbe. Je to hnus. Co hnus? Paskvil! No vubec se nebojim rict, ze sracka. A to jsem jeste slusnej. Kdyz clovek zacina, nauci se par tagu. Ty mu staci na docela dlouho a na dost veci. Jenze to netusi, co vsechno je s tim smejdem mozny. Jakmile se dostane na druhou stranu barikady a je nucenej napsat aspon minimalni parser HTML, zacne zjistovat, s cim ma tu cest. Uprimne receno - se strasnym vytvorem buhvikoho. Cisi z toho nesystemovost a co tag to hack. Sice jsou tu pokusy o vycisteni - mame radi XHTML Strict - ale presto. Kolik stranek je XTML validnich? Moc ne. Kdo by se obtezovat s validitou. Stejne jsou prohlizece napsany tak, aby zobrazili i nevalidni HTML, protoze jinak by BFU reptal, ze tenhle prohlizec je blbej, ze to neumi zobrazit. Ale to jsme odbocili...

Takze ty parsery. Minimalni parser asi snad ani nejde napsat. Zda se mi, ze bud musi clovek napsat komplet vsechno nebo jinak neni vysledek zaruceny. Ja z toho chci dostat jen cast informaci, me je jedno, kde je jaky <div>. Ale ne, kvuli tomu musim mit atomovku na vrabce.
Taky HTML, ktery je k shlidnuti na WEBu je dost sileny. Kdybyste videli, jaky HTML se pouziva na ruznych renomovanych serverech, to by se jeden posral. Ty maji radi reklamu a zobrazuji ji. A hodne. A co k tomu pouzivaji? Spravne! Skriptovani na strane klienta a nejcasteji JavaScript. Jako ja chapu, ze se to muze obcas hodit, ale presto. Zpusob integrace JS do HTML je jednoduse prisernej. Stejne tak prilepeni CSS. Jako proc to jde 3 zpusobama? A jeden horsi nez druhy. Kdo pak ma psat ty pasery.

Vybec lahudka je CSS/JS vnoreny do tagu <style>/<script>, kdy je obsah ohraniceny komentarem. Tohle vymyslel nejaky dement. Pry, ze se to delalo kvuli tomu, kdyz stary prihlizece neumeli interpretovat CSS/JS, tak se to obalilo komentarem a prohlizec to ignoroval. No UZASNY reseni. Upravit prohlizec, tak aby odfiltroval obsah tagu je preci jednoduchy. Nebo vubec, uz od zacatku to melo byt napsany tak, ze obsah neznamyho tagu je ignorovan a bylo by. Ale to ne...

Dalsi vecicka co s tim souvisi je parser CSS. Kvuli tomu jsem musel psat lexikalni parser a pak parser tokenu. Pravda, tohle uz se psalo lip, ale stejne. NENAVIDIM formalni jazyky a parsery. Chtelo by to nejaky lightweighted tool na generovani parseru a zpracovani tokenu, lex a yacc jsou zbytecne velky a neforemny. Ale to je prave ten problem formalnich jazyku, bud mam parser, ktery ho zkousne, nebo nemam nic. Nic castecnyho neexistuje :(

Komentáře: Okomentovat



<< Domu

This page is powered by Blogger. Isn't yours?