Allen Holub (Author of Compiler Design in C and famous OO Guru) said: “XML is perhaps the worst programming language ever conceived.アレンHolub (著者はCコンパイラの設計で有名なはい達人)によると: " XMLのは、おそらく、最悪のプログラミング言語まで考えています。 I’m not talking about XML as a data-description language, which was its original design.私はXMLの話では、データの記述言語、これは、そのオリジナルデザインです。 I’m talking about perverting XML for programming applications.私が話してpervertingのXMLのプログラミングアプリケーションに最適です。 It’s inappropriate to use XML as a scripting language (eg, ANT), a test-description language (eg, TestNG), an object-relational mapping language (eg, Hibernate, JDO), a control-flow language (eg, JSF), and so forth.それの不適切なスクリプト言語としてXMLを使用する(例えば、アリ)は、テスト記述言語(例えば、 testng ) 、オブジェクト-リレーショナルマッピング言語(例えば、休止状態、 jdo )は、フロー制御言語(例えば、のJSF )などです。 These sorts of XML “programs” are unreadable, unmaintainable, an order of magnitude larger than necessary, and audaciously inefficient at runtime.”これらの種類のXMLの"プログラム"は読み取れない、 unmaintainable 、大きさよりも大きいの順序を必要とし、大胆に、実行時に非効率的です。 " Linkリンク

He surmised that the tendency to use xml for these tasks is simply because people either don’t want to create a compiler or are inacapable of creating one.彼は推定でXMLを使用する傾向は、これらの作業を行うため、人々は、単にしたくないのいずれかを作成するには、コンパイラまたは1つのinacapableを作成します。 I agree with him.彼に同意します。 Most of the time people use XML because it is easy to parse XML, so who cares how long it takes for people to create these xml documents in the first place.ほとんどの場合、使用する人々のためのXMLのXMLをパースすることは容易ので、 who苦労どのくらい時間がかかるため、これらのXMLドキュメントを作成する人々の最初の場所です。 Look at Hibernate for an example.休止状態を見てその一例です。 It is XML hell.これはXMLの地獄です。 EJB 2 was another example. EJBの2は、もう一つの例です。 Jelly was probably the worst example and I don’t like JSTL that much either.ゼリーはおそらく、最悪の例とjstlのは好きじゃないそれだけのいずれかです。

Then he goes on to define the basic qualifications of a programmer, he said something which is close to my heart:を入力し、彼は基本的な資格を定義するのが、プログラマを、彼によると何かが私の心に近い:
“This list includes a deep understanding of data structures and key algorithms, a little math (set theory, logic, a little statistics), mastery of analysis-and-design techniques, both process (eg, RUP or XP) and structure (eg, design patterns), and database structure and use (eg, SQL). "このリストのデータを構造体には、深い理解と鍵アルゴリズム、少し数学(集合論、ロジックは、ほとんどの統計) 、熟練の分析と設計技術、両方のプロセス(例えば、 RUPまたはXPの場合)と構造(例: 、デザインパターン) 、およびデータベースの構造をして使用する(例は、 SQL ) 。 You also need to know how the hardware works.”また、ハードウェアの動作方法を知る必要があります。 "

Designing compilers is hard.コンパイラの設計は難しいです。 Today it is rare to see people designing compilers for their software.今日ではまれな人々を見てコンパイラの設計ソフトウェアです。 They use XML or simple property files. xml 、または単純なプロパティを使用するファイルです。 Also, as he mentioned, it is hard to get books on compiler design.また、彼は言及したように、書籍を得ることは難しい上コンパイラの設計です。 The best Java software to design compiler is最高のJavaソフトウェアを設計するコンパイラは JavaCC JavaCCの , which was by an ex-Sun employee, who later went on to found MetaMata in the dotcom boom era. 、これは太陽の元従業員、 whoへはしてMetaMataには、ドットコムブームの時代が見つかりました。

He misses one vital point.彼は1つの重要なポイントです。 Somewhere down the road it has unfortunately become a marketing bullet point to mention that your software uses XML for configuration.残念ながらダウンする道路のどこかになることがマーケティングに言及してください。銃弾をポイントしてソフトウェアを使用してXMLを構成します。