Allen Holub (Author of Compiler Design in C and famous OO Guru) said: “XML is perhaps the worst programming language ever conceived. 알렌 holub (c으로 유명한 저자의 컴파일러를 설계 그렇습니다 지도자)은 말했다 : "형식이 아마 상상 못할 최악의 프로그래밍 언어입니다. 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. 프로그래밍 애플 리케이션에 대한 얘기를 나는 xml perverting합니다. 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에 대한 견적을 사용하는 경향을 그는 이러한 작업은 단순히를 작성하지 않으 왜냐하면 사람들이 컴파일러 중 하나 또는 하나를 만들 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. 최대 절전 모드로 봐 예를 들면합니다. 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). "이 목록에는 데이터의 구조에 대한 깊은 이해와 키 알고리즘을, 작은 수학 (집합 이론, 논리, 조금 통계), 마스터의 분석 -과 - 설계 기법, 둘 다 프로세스 (예를 들면, 루프 또는 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 최고의 컴파일러는 자바 소프트웨어를 설계 JavaCC javacc , which was by an ex-Sun employee, who later went on to found MetaMata in the dotcom boom era. , 어떤 사람은 전 - 태양 직원, 사람을 나중에갔습니다 닷컴 붐 시대에 MetaMata에 발견합니다.

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의 구성을 귀하의 소프트웨어를 사용합니다.