Eric Raymond의 The Art of Unix Programming을 언젠가 읽어야 합니다. 유닉스 디자이너가 XML을 /etc/fstab
알고 있다면 XML을 사용했을 것이라고 가정하는 것 같습니다 . 반대로 XML은 특별히 발명되지는 않았지만 유사한 선행 작업을 잘 알고 있었으며 의도적으로 구성 파일에 대해 거부했습니다 /etc/fstab
.
XML에 대한 그의 하위 섹션에서 인용 :
XML은 복잡한 데이터 형식 (구식 Unix 전통이 RFC-822와 같은 스탠자 형식을 사용하는 종류)에 적합하지만 간단한 형식에는 무리가 있습니다. RFC 822 메타 포맷이 제대로 처리하지 않는 복잡한 중첩 또는 재귀 구조의 형식이있는 형식에 특히 적합합니다.
그리고 더 아래로 :
XML의 가장 심각한 문제는 전통적인 유닉스 도구와 잘 어울리지 않는다는 것입니다. XML 형식을 읽으려는 소프트웨어에는 XML 파서가 필요합니다. 이것은 부피가 크고 복잡한 프로그램을 의미합니다. 또한 XML 자체는 다소 부피가 크다. 모든 마크 업 중에 데이터를보기가 어려울 수 있습니다.
유닉스 철학은 구성이 가능하면 스크립트를 쉽게 작성하고 사람이 읽을 수있게 만드는 것입니다. awk, grep, sed, tr 및 cut과 같은 도구를 사용하여 구성 파일을 처리하고 큰 라이브러리없이 스크립트 언어로 쉽게 구문 분석 할 수 있어야합니다. 이것이 유닉스 성공의 큰 이유이며 과소 평가해서는 안됩니다.
Eric Raymond는 "복잡한 중첩 또는 재귀 구조를 가진 형식"을 처리 할 수있는 능력으로 XML을 높이 평가하지만 /etc/fstab
반드시 그럴 필요는 없으므로 가능한 가장 간단한 파일 형식이 선택되었습니다.
따라서 XML의 용도는 확실하지만이 분야를 개척 한 지구상에서 가장 똑똑한 프로그래머 중 일부는 자신이하는 일을 알고있을 수 있습니다. 아마도 XML이 항상 자신의 구성 파일에 가장 적합한 것은 아닙니다.
/usr/lib/libxml.so
및/usr
별도의 파티션에?/etc/fstab
시스템 을 파싱 하려면 마운트 할 파일 시스템을 알기 위해/usrz in order to load
libxml, but to do so it would have to parse
/ etc / fstab을 마운트해야합니다. 이를 피하기 위해 XML 파서는 아마도 환상적인 아이디어처럼 들리지 않는 커널의 일부일 것입니다.