Bir ara Eric Raymond'ın The Unix Programlama Sanatı'nı gerçekten okumalısınız . Unix tasarımcılarının, /etc/fstab
eğer bilselerdi için XML kullanmış olacağı varsayımını yapıyor gibi görünüyorsunuz . Aksine, XML özellikle icat edilmemiş olmasına rağmen, benzer öncüllerinin oldukça farkındaydılar ve bunları yapılandırma dosyaları için kasten reddetti /etc/fstab
.
XML'deki alt bölümünden alıntı :
XML, karmaşık veri formatları (eski okul Unix geleneğinin RFC-822 benzeri bir stanza formatı kullanacağı türler için) için çok uygundur, ancak daha basit olanlar için overpric. RFC 822 metaformatının iyi işlememediği türden karmaşık bir iç içe geçmiş veya özyinelemeli yapıya sahip formatlar için özellikle uygundur.
ve daha aşağı:
XML'in en ciddi sorunu, geleneksel Unix araçlarıyla iyi oynamamasıdır. XML formatını okumak isteyen yazılım için bir XML ayrıştırıcı gerekir; Bu hantal, karmaşık programlar demektir. Ayrıca, XML kendisi oldukça hantaldır; Tüm işaretlemeler arasında verileri görmek zor olabilir.
Unix felsefesi, konfigürasyonu kolayca yazılabilir ve mümkün olan her yerde okunabilir hale getirmektir. Config dosyalarını awk, grep, sed, tr ve cut gibi araçlarla işleyebilmeli ve hacimli kütüphaneleri olmayan betik dillerinde kolayca ayrabilmelisiniz. Bu Unix'in başarısının ardındaki büyük sebep ve hafife alınmaması gerekiyor.
Her ne kadar Eric Raymond, XML'i "karmaşık iç içe geçmiş veya özyinelemeli bir yapıya sahip formatları" işleyebildiği için övüyor olsa da, /etc/fstab
kesinlikle bunlara ihtiyaç duymuyor ve bu nedenle mümkün olan en basit dosya formatı seçildi.
Bu nedenle, XML kesinlikle kullanımlarına rağmen, dünyadaki öncülük eden en akıllı programcıların bazılarının ne yaptıklarını bildiklerini düşünmek isteyebilirsiniz. Belki de XML her zaman kendi yapılandırma dosyalarınız için en uygun seçenek değildir.
/usr/lib/libxml.so
ve içinde XML ayrıştırma kütüphanesi olsaydı ne olurdu/usr
?/etc/fstab
Sistemin ayrıştırılması için hangi dosya sisteminin bağlanacağını bilmek için/usrz in order to load
libxml, but to do so it would have to parse
/ etc / fstab` komutunu kullanmak gerekir. Bundan kaçınmak için, XML ayrıştırıcısının muhtemelen fantastik bir fikir gibi görünmeyen çekirdeğin bir parçası olması gerekir.