{"id":38,"date":"2006-09-22T12:23:03","date_gmt":"2006-09-22T10:23:03","guid":{"rendered":"http:\/\/www.wuenschenswert.net\/wunschdenken\/archives\/38"},"modified":"2006-09-22T12:23:03","modified_gmt":"2006-09-22T10:23:03","slug":"just-say-no-to-xml","status":"publish","type":"post","link":"http:\/\/www.wuenschenswert.net\/wunschdenken\/archives\/38","title":{"rendered":"Just say No to XML"},"content":{"rendered":"<p>Allen Holub sagt: <a href=\"http:\/\/www.sdtimes.com\/fullcolumn\/column-20060901-05.html\">Just Say No to XML<\/a>. XML sei klobig, und wer XML f\u00fcr Konfiguration etc. nutzt, ist nur zu faul, Compilerbau zu lernen.<\/p>\n<p>Dazu meine ich: No.<\/p>\n<p>Nein, es hat keinen Sinn, dass sich jeder seinen eigenen Scanner, Parser, syntax-bewussten Editor, Debugger, Pretty Printer etc. baut. Das ist es, was man im traditionellen Compiler-Bau lernt. Vermutlich auch in dem Buch, das Allen Holub in dem Artikel plugt (&#8220;By the way, my own&#8230;&#8221;). Insbesondere hat es wenig Wert, einen eigenen Scanner mit eigenen Regeln f\u00fcr Tokens und Kommentare entwerfen zu m\u00fcssen, wenn man eigentlich nur eine Datenstruktur wzB einen struts-Kontrollfluss-Graphen ausdr\u00fccken m\u00f6chte.<\/p>\n<p>Oder auch: Yes.<\/p>\n<p>XML ist viel zu klobig. Eine kompakte erweiterbare Syntax, wie sie Prolog, Lisp und Smalltalk von Anfang an geboten haben, und wie sie heutzutage Ruby bietet,  macht da deutlich weniger Schmerzen. Man muss nur ein wenig aufpassen, nicht zu viel Semantik der Turing-m\u00e4chtigen Wirtssprache in die dom\u00e4nenspezifische Sprache zu \u00fcbernehmen, sonst ist sie nachher nicht mehr analysierbar, optimierbar, verstehbar, automatisch umschreibbar etc.<\/p>\n<p>Aber warum \u00fcberhaupt ASCII ? Warum nicht interaktiv im GUI die Datenstrukturen manipulieren, so wie wir es vom Quelltext in IDEA gewohnt sind (achte mal auf Deine Sequenz von Tastendr\u00fccken w\u00e4hrend einer Programmier-Session &#8211; mit Programmtext hat das wenig zu tun).<\/p>\n<p>Links zum Thema:<\/p>\n<p><a href=\"http:\/\/www.grammatech.com\/products\/sg\/index.html\">Synthesizer Generator<\/a><br \/>\n<a href=\"http:\/\/www.jetbrains.com\/mps\/\">Jetbrains&#8217; Meta Programming System<\/a><br \/>\n<a href=\"http:\/\/intentsoft.com\/\">Intentional Programming<\/a><br \/>\n<a href=\"http:\/\/www.subtextual.org\/\">Subtext<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Allen Holub sagt: Just Say No to XML. XML sei klobig, und wer XML f\u00fcr Konfiguration etc. nutzt, ist nur zu faul, Compilerbau zu lernen. Dazu meine ich: No. Nein, es hat keinen Sinn, dass sich jeder seinen eigenen Scanner, Parser, syntax-bewussten Editor, Debugger, Pretty Printer etc. baut. Das ist es, was man im traditionellen &hellip; <a href=\"http:\/\/www.wuenschenswert.net\/wunschdenken\/archives\/38\" class=\"more-link\">Continue reading<span class=\"screen-reader-text\"> &#8220;Just say No to XML&#8221;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":[],"categories":[6],"tags":[],"_links":{"self":[{"href":"http:\/\/www.wuenschenswert.net\/wunschdenken\/wp-json\/wp\/v2\/posts\/38"}],"collection":[{"href":"http:\/\/www.wuenschenswert.net\/wunschdenken\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/www.wuenschenswert.net\/wunschdenken\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/www.wuenschenswert.net\/wunschdenken\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"http:\/\/www.wuenschenswert.net\/wunschdenken\/wp-json\/wp\/v2\/comments?post=38"}],"version-history":[{"count":0,"href":"http:\/\/www.wuenschenswert.net\/wunschdenken\/wp-json\/wp\/v2\/posts\/38\/revisions"}],"wp:attachment":[{"href":"http:\/\/www.wuenschenswert.net\/wunschdenken\/wp-json\/wp\/v2\/media?parent=38"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/www.wuenschenswert.net\/wunschdenken\/wp-json\/wp\/v2\/categories?post=38"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/www.wuenschenswert.net\/wunschdenken\/wp-json\/wp\/v2\/tags?post=38"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}