Internet Info, s.r.o. Lupa Měšec Podnikatel Root Zdroják DigiZone Slunečnice Vitalia TopDrive KupDnes Navrcholu NovýTarif Dobrý web Weblogy Woko Jagg Computer.cz SK: MojeLinky

Hlavní navigace

Odpověď na názor

Odpovídáte na názor k článku Domain-Specific Language: programování pro každého.

uživatel si přál zůstat v anonymitě
27. 11. 2007 9:57

Re: Uch, nejak jsem to nepobral

celé vlákno
Jo, takze jsem to pochopil relativne presne. Priklad s assemblerem, Ceckem a Perl byl spis prehnanej, ale je to taky urcity zpusob predvedeni DSL, napr. misto psani nekolika instrukci v assembleru mam jednu funkci printf nebo jeden prikaz for, dale pak misto psani nejaky slozity konstrukce v Cecku (nepocitam nejaky knihovny) mam v Perlu operator "=~" pro regularni vyrazy. A pod "specifickym probleme", ke kterymu potrebuju tyhle DSL jazyky (PERL a C), si muzu predstavit problem "programovani". Pak muzu nad Perlem udelat dalsi DSL, kde budu psat jednoduche prikazy ve stylu SED nebo AWK a to pak predhodim Perlu - ten to zpracuje a bude provadet vlastnimi silami (funkcemi a operatory) cinnost zadanou pomoci meho DSL. Cely PERL ale bude taky jenom DSL nad jazykem C, ktery bude provadet nizsi operace podle zadanych PERL prikazu. No a jazyk C bude zase jenom DSL nad assemblerem a assembler bude provadet zadany C prikazy pomoci strojoveho kodu.

Podle tehle definice jsou DSL jazyky vsechny ty mozne sablonovaci systemy nad PHP a Perlem a Ceckem. Jinak zapis XML by se mi libil asi vic, protoze ten uz ma clovek vetsinou zazity a navic, pokud by byl pro vice projektu, tak se ho clovek uci pouze jednou a pak uz jenom seznam funkci a parametry, ktery by se musel ucit vzdy. Kdezto kdyz kazdy bude delat vlastni DSL, tak se ucit kazdy ruzny DSL s ruznymi vlastnostmi bude docela peklo, ikdyz budou treba dobre navrzene.

Ono, kdyz se to tak vezme, tak prakticky dobre navrzeny API je taky DSL. Ted jsem snad pochopil rozdil v tom priklade API a DSL na zacatku clanku. Je to sice hezkej priklad, nicmene spis chapu ten zapis v API, nez v DSL a to ani neni receno v jakem jazyku je to API zapsane. Kdezto k tomu DSL bych potreboval nejaky manual, abych pochopil, co to vlastne udela. Jinak zapis na jeden radek je pouze veci jazyka, pripadne navrhu trid, napr. v perlu muzu napsat

Coffee::new('size'='Venti', 'fat'=>NON_FAT ....);

a budu to mit stejne jako v DSL na jeden radek a taky prehledne.
   
Chcete přispět jako registrovaný uživatel? Přihlaste se ke svému účtu.
Ochrana proti spamovacím robotům. Odpovězte prosím na následující otázku: Jaký je letos rok?
 

Pravidla pro diskutující

Přidáním čtenářského příspěvku do diskusí či fóra souhlasíte s tím, že budete dodržovat následující pravidla. Při jejich hrubém porušení se vystavujete riziku smazání příspěvku, jeho modifikaci, v krajním případě i zablokování přístupu do diskusí.

Redakce ze zásady nezasahuje do čtenářských diskusí a zavazuje se, že nebude mazat ani modifikovat příspěvky, kromě případů, kdy tyto porušují některé z následujících pravidel. V takové situaci je na zvážení redakce, zda příspěvek modifikuje s viditelným upozorněním, či přímo smaže. Redakce nikdy nemaže „nesouhlasné komentáře“ jen proto, že jsou nesouhlasné. Vítáme střet názorů, ale vždy v rámci slušné a kultivované debaty.

Příspěvky nesmí obsahovat:

  1. Vulgární či hrubé výrazy.
  2. Urážlivé výroky na adresu druhé osoby či skupiny osob.
  3. Texty, které mají za cíl jen vyprovokovat emotivní reakci (trolling).
  4. Rasové útoky či útoky na jakoukoliv jinou menšinu či skupinu obyvatel.
  5. Komerční nabídky a affiliate odkazy.
  6. Odkazy na warez, sériová čísla, licenční kódy, pornografii a další nevhodný materiál stejně jako žádosti o poskytnutí tohoto obsahu.
  7. Prokazatelně protiprávní obsah.

Informace o soukromí: U všech přidaných komentářů provozovatel ukládá IP adresu a hostname odesílatele. U neregistrovaných uživatelů se na webu zobrazuje část hostname, případně IP adresy, neumožňující identifikovat konkrétní počítač.

Povolené značky XHTML: a, br, code, em, li, ol, p, pre, strong, sub, sup, ul