Allen Holub (Author of Compiler Design in C and famous OO Guru) said: “XML is perhaps the worst programming language ever conceived. Allen Holub (Auteur de Design Compiler en C et célèbre OO Guru) a dit: "XML est peut-être le pire langage de programmation jamais conçus. I’m not talking about XML as a data-description language, which was its original design. Je ne parle pas le format XML comme une base de données-langage de description, qui était sa conception originale. I’m talking about perverting XML for programming applications. Je parle de pervertir XML pour les applications de programmation. 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. Il est inapproprié d'utiliser le format XML comme un langage de script (par exemple, ANT), un essai-langage de description (par exemple, TestNG), un mapping objet-relationnel langue (par exemple, Hibernate, JDO), un contrôle des flux de la langue (par exemple, JSF), et ainsi de suite. These sorts of XML “programs” are unreadable, unmaintainable, an order of magnitude larger than necessary, and audaciously inefficient at runtime.” Ces sortes de XML "programmes" sont illisibles, ingérable, un ordre de grandeur plus grand que nécessaire, audace et inefficaces au moment de l'exécution. " Link Lien

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. Il a supposé que la tendance à utiliser XML pour ces tâches est tout simplement parce que les gens soit ne voulons pas créer un compilateur ou sont inacapable de créer un. I agree with him. Je suis d'accord avec lui. 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. La plupart du temps les gens utilisent le XML car il est facile d'analyser le XML, ce qui prend soin combien de temps il faut pour les personnes à créer ces documents XML en premier lieu. Look at Hibernate for an example. Rechercher à Hibernate pour un exemple. It is XML hell. Il est le XML enfer. EJB 2 was another example. EJB 2 est un autre exemple. Jelly was probably the worst example and I don’t like JSTL that much either. Jelly est probablement le pire exemple et je n'aime pas beaucoup que JSTL.

Then he goes on to define the basic qualifications of a programmer, he said something which is close to my heart: Puis il va à définir les qualifications de base d'un programmeur, il a dit quelque chose qui est proche de mon coeur:
“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). "Cette liste comprend une compréhension profonde des structures de données et les principaux algorithmes, un peu de mathématiques (théorie des ensembles, la logique, un peu de statistiques), la maîtrise de l'analyse et les techniques de conception, les deux processus (par exemple, RUP ou XP) et structure (par exemple , Design patterns), et structure de base de données et d'utilisation (par exemple, SQL). You also need to know how the hardware works.” Vous devez également savoir comment fonctionne le matériel. "

Designing compilers is hard. Concevoir des compilateurs est difficile. Today it is rare to see people designing compilers for their software. Aujourd'hui, il est rare de voir des gens compilateurs pour la conception de leurs logiciels. They use XML or simple property files. Ils utilisent XML ou simple propriété des fichiers. Also, as he mentioned, it is hard to get books on compiler design. Aussi, comme il l'a mentionné, il est difficile d'obtenir des livres sur la conception compilateur. The best Java software to design compiler is Le meilleur logiciel Java pour concevoir compilateur est JavaCC Javacc , which was by an ex-Sun employee, who later went on to found MetaMata in the dotcom boom era. , Qui a été par un ex-employé de Sun, qui a plus tard de fonder MetaMata dans le boom des dotcoms ère.

He misses one vital point. Il manque un point essentiel. Somewhere down the road it has unfortunately become a marketing bullet point to mention that your software uses XML for configuration. Quelque part sur la route, il a malheureusement devenu un point de mise sur le marché de mentionner que votre logiciel utilise XML pour la configuration.