आपको एरिक रेमंड के द आर्ट ऑफ यूनिक्स प्रोग्रामिंग को कभी-कभी पढ़ना चाहिए । आप यह अनुमान लगा रहे हैं कि यूनिक्स डिजाइनरों ने एक्सएमएल का उपयोग किया होगा /etc/fstab
यदि वे इसके बारे में जानते थे। इसके विपरीत, हालांकि एक्सएमएल का विशेष रूप से आविष्कार नहीं किया गया था, वे इसके समान पूर्ववर्तियों के बारे में काफी जागरूक थे, और जैसे कॉन्फ़िगरेशन फ़ाइलों के लिए जानबूझकर उन्हें अस्वीकार कर दिया था /etc/fstab
।
XML पर उसकी उपधारा से उद्धरण :
XML जटिल डेटा प्रारूपों (उन चीजों के प्रकार, जिनके लिए पुराने स्कूल की यूनिक्स परंपरा एक RFC-822-समान श्लोक प्रारूप का उपयोग करेगी) के लिए अच्छी तरह से अनुकूल है, हालांकि सरल लोगों के लिए ओवरकिल। यह उन प्रारूपों के लिए विशेष रूप से उपयुक्त है जिनके पास एक जटिल नेस्टेड या सॉर्टर्स की पुनरावर्ती संरचना है जो आरएफसी 822 मेटाफॉर्मैट अच्छी तरह से संभाल नहीं करता है।
और नीचे:
XML के साथ सबसे गंभीर समस्या यह है कि यह पारंपरिक यूनिक्स टूल्स के साथ अच्छा नहीं खेलता है। सॉफ़्टवेयर जो XML प्रारूप को पढ़ना चाहता है, उसे XML पार्सर की आवश्यकता होती है; इसका मतलब है भारी, जटिल कार्यक्रम। इसके अलावा, एक्सएमएल ही बल्कि भारी है; सभी मार्कअप के बीच डेटा को देखना मुश्किल हो सकता है।
यूनिक्स दर्शन जहाँ संभव हो वहां विन्यास को आसानी से स्क्रिप्ट और मानव पठनीय बनाना है। आपको awk, grep, sed, tr, और cut जैसे टूल्स के साथ कॉन्फिग फाइल को प्रोसेस करने में सक्षम होना चाहिए, और आसानी से उन्हें भारी लाइब्रेरी के बिना स्क्रिप्टिंग भाषाओं में पार्स करना चाहिए। यूनिक्स की सफलता के पीछे यह एक बहुत बड़ा कारण है और इसे कम करके नहीं आंका जाना चाहिए।
यद्यपि एरिक रेमंड अपनी जटिल क्षमता से संपन्न या पुनरावर्ती संरचना वाले "स्वरूपों को संभालने की क्षमता के लिए एक्सएमएल की प्रशंसा करता है," /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 पार्सर शायद कर्नेल का हिस्सा होगा जो शानदार विचार की तरह नहीं लगता है।