Allen Holub (Author of Compiler Design in C and famous OO Guru) said: “XML is perhaps the worst programming language ever conceived. Allen Holub (Autor do Compilador C em Design e guru famoso OO) disse: "XML é talvez o pior programação língua cada vez concebida. I’m not talking about XML as a data-description language, which was its original design. Não estou a falar de dados XML como uma linguagem de descrição, que era o seu desenho original. I’m talking about perverting XML for programming applications. Eu estou falando de perverter XML para a programação de aplicações. 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. É impróprio para uso como uma linguagem XML (por exemplo, ANT), um teste de língua designação (por exemplo, TestNG), um mapeamento objeto-relacional língua (por exemplo, Hibernate, JDO), um controle de fluxo língua (por exemplo, JSF), e assim por diante. These sorts of XML “programs” are unreadable, unmaintainable, an order of magnitude larger than necessary, and audaciously inefficient at runtime.” Esses tipos de XML "programas" são ilegíveis, sem manutenção, uma ordem de grandeza maior do que necessário, e audaciously ineficiente no decorrer do processo. " 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. Ele surmised que a tendência de usar xml para estas funções é, pura e simplesmente porque as pessoas não querem nem para criar um compilador ou estão inacapable de criar um. I agree with him. Concordo com ele. 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. A maior parte das vezes as pessoas usam XML, porque é fácil de ser interpretador XML, de modo que cuida quanto tempo leva para que as pessoas criam esses documentos XML, em primeiro lugar. Look at Hibernate for an example. Olhe para Hibernate, por exemplo. It is XML hell. É XML inferno. EJB 2 was another example. EJB 2 era outro exemplo. Jelly was probably the worst example and I don’t like JSTL that much either. Jelly foi provavelmente o pior exemplo e eu não gosto muito JSTL que quer.

Then he goes on to define the basic qualifications of a programmer, he said something which is close to my heart: Então ele passa a definir as qualificações básicas de um programador, ele disse algo que está perto de meu coração:
“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). "Essa lista inclui uma profunda compreensão das estruturas de dados e algoritmos-chave, um pouco de matemática (teoria de conjuntos, lógica, um pouco de estatísticas), o domínio de análise-e-design técnicas, tanto processo (por exemplo, RUP ou XP) e estrutura (por exemplo: , Padrões de projeto), ea base de dados estrutura e uso (por exemplo, SQL). You also need to know how the hardware works.” Você também precisa saber como funciona o hardware. "

Designing compilers is hard. Projetando compiladores é difícil. Today it is rare to see people designing compilers for their software. Hoje em dia é raro ver as pessoas projetar compiladores para seu software. They use XML or simple property files. Eles usam arquivos XML ou simples propriedade. Also, as he mentioned, it is hard to get books on compiler design. Além disso, como ele referiu, é difícil obter compilador livros sobre design. The best Java software to design compiler is A melhor software para desenho compilador Java é JavaCC , which was by an ex-Sun employee, who later went on to found MetaMata in the dotcom boom era. , Que foi por um ex-empregado Sun, que mais tarde passou a encontrar MetaMata dotcom boom na época.

He misses one vital point. Ele perdeu um ponto vital. Somewhere down the road it has unfortunately become a marketing bullet point to mention that your software uses XML for configuration. Algures no caminho que tem infelizmente tornar-se um ponto comercialização de referir que o seu software utiliza XML para configuração.