Allen Holub (Author of Compiler Design in C and famous OO Guru) said: “XML is perhaps the worst programming language ever conceived. Аллен Holub (Автор компилятора Дизайн в C и знаменитые OO гуру) сказал: "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), объектно-реляционного картографирования языка (например, Hibernate, 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. Он surmised, что тенденция к использованию xml для решения этих задач, просто потому, что люди либо не хотят создавать компилятор или 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, которые так заботится о том, как долго он принимает для людей, чтобы создать эти xml документы в первую очередь. Look at Hibernate for an example. Посмотрите на Hibernate для примера. 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. Jelly, вероятно, наихудшие пример, и я не люблю 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). "Этот перечень включает в себя глубокое понимание структуры данных и ключевые алгоритмы, немного математики (теория множеств, логика, мало статистики), мастерство анализа и разработки методов, оба процесса (например, РУП" или 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 , which was by an ex-Sun employee, who later went on to found MetaMata in the dotcom boom era. , Который был экс-Sun работника, которые позже пошли на создание MetaMata в эпоху бума dotcom.

He misses one vital point. Он пропускает один жизненно важные точки. Somewhere down the road it has unfortunately become a marketing bullet point to mention that your software uses XML for configuration. То вниз дороге он, к сожалению, становится точкой сбыта пуля упомянуть, что Ваша программа использует XML для конфигурации.