"मानव पठनीय" का क्या अर्थ है? क्या यह एक मिथ्या नाम है?


12

दो उदाहरण वसंत के लिए मन:

  • .Net प्रोग्रामर को विंडोज़ रजिस्ट्री के बजाय .config फ़ाइलों का उपयोग करने के लिए प्रोत्साहित करने का एक कारण यह है कि .config फाइलें XML हैं और इसलिए मानव-पठनीय हैं।

  • इसी तरह, JSON को कभी-कभी एक मालिकाना प्रारूप की तुलना में मानव-पठनीय माना जाता है।

क्या मानव-पठनीय प्रारूप वास्तव में मनुष्यों द्वारा पठनीय हैं? कॉन्फ़िगरेशन डेटा के उदाहरण में:

  1. प्रारूप सूचना के अंतर्निहित अर्थ को नहीं बदलता है - दोनों मामलों में, डेटा एक ही चीज़ का प्रतिनिधित्व करता है।
  2. रजिस्ट्री और .config फ़ाइल दोनों को आंतरिक रूप से एक श्रृंखला 0s और 1s के रूप में संग्रहीत किया जाता है। उस हद तक, अंतर्निहित प्रतिनिधित्व मनुष्य द्वारा समान रूप से अपठनीय है।
  3. दोनों रजिस्ट्री और .config फ़ाइल को उन 0s और 1s को पढ़ने, प्रारूपित करने और प्रदर्शित करने के लिए एक उपकरण की आवश्यकता होती है और उन्हें एक ऐसे प्रारूप में परिवर्तित करते हैं जिसे मनुष्य पढ़ सकते हैं। Windows रजिस्ट्री में संग्रहीत कॉन्फ़िगरेशन के मामले में, यह एक रजिस्ट्री संपादक है। XML के मामले में यह एक टेक्स्ट एडिटर या XML रीडर हो सकता है। किसी भी तरह, उपकरण डेटा को पढ़ने योग्य बनाता है, न कि डेटा प्रारूप को।

तो, मानव-पठनीय डेटा प्रारूपों और गैर-मानव-पठनीय प्रारूपों के बीच अंतर क्या है?


3
यह निर्भर करता है कि क्या "मानव" की परिभाषा प्रोग्रामर / आदि तक सीमित है, या सभी मनुष्यों पर लागू होती है (यदि उत्तरार्द्ध तो लगभग सभी प्रारूप संभवतः डिग्री को अलग करने में विफल होते हैं)।
पीटर बॉटन

7
केवल मानव पठनीय क्रमांकन प्रारूप YAML है । एक्सएमएल मुझे अपनी आंखों को बाहर निकालना चाहता है।
NullUserException 2

जवाबों:


35

मूल रूप से पठनीय मानव का अर्थ है कि यदि उस प्रोग्राम को उस फ़ाइल के प्रारूप के प्रत्यक्ष, विशिष्ट जागरूकता की कमी के कारण प्रदर्शित किया जाता है, तो कम से कम एक उचित मौका है कि कोई व्यक्ति कम से कम कुछ पढ़ और समझ सकता है।

परिसीमन की एक स्पष्ट रेखा की कमी के बारे में आपका मूल बिंदु बिल्कुल सही है - हालांकि एक समय मैं एक ऐसे आदमी को जानता था जो कार्यक्रमों के साथ समस्याओं का निदान कर सकता था (ज्यादातर फोरट्रान में लिखा जाता है) अक्सर पांच मिनट या उससे कम समय में - केवल एक अष्टक से कोर डंप, सोर्स कोड को देखे बिना। ज्यादातर लोगों के लिए, वह प्रारूप शायद ही "मानव पठनीय" के रूप में योग्य होगा, लेकिन जाहिर है कि वह एक अपवाद था ...


14
+1: सब कुछ "मानव पठनीय" पर्याप्त प्रयास है। कंप्यूटर में "मानव पठनीय" का वास्तविक अर्थ है: सादा पाठ, असंरचित या कुछ संरचना पूरी तरह से पाठ पात्रों से बना है।
बजे एलोन गुरेलनेक

35

ह्यूमन रीडेबल का मतलब है कि अगर मैं चाहूँ तो मैं नोटपैड में चीज़ खोल सकता हूँ, और "पासवर्ड = फू" को "पासवर्ड = बार" में बदल सकता हूँ। मुझे सामग्री को देखने या संपादित करने के लिए एक स्वामित्व उपकरण का उपयोग करने की आवश्यकता नहीं है।

एक पीडीएफ के विपरीत जो आप एक साधारण पाठ संपादक के साथ संपादित नहीं कर सकते हैं - आपको एक विशिष्ट उपकरण की आवश्यकता है जो प्रारूप को जानता है। या एक बाइनरी .dat फ़ाइल जो 25 साल पहले के कुछ एप्लिकेशन के साथ आई थी जिसे आप पढ़, संपादित या समझ नहीं सकते हैं।


क्या आप RTF मानव को पठनीय मानेंगे?
पीटर बॉटन

7
RTF प्रोग्रामर-पठनीय :-) है। मैंने इसे संपादित किया है, लेकिन यह सुखद नहीं था। XML निश्चित रूप से JSON से कम मानव पठनीय है। बहुत कुछ निर्भर करता है कि आपके मनुष्यों का क्या उपयोग किया जाता है - मेरे कई लोग पसंद करते हैं। XML पर क्लिक करें, लेकिन मुझे यकीन नहीं है!
केट ग्रेगोरी

3
आप एक मानव पठनीय फ़ाइल को संपादित करने में सक्षम नहीं हो सकते हैं। मैंने कई ऐसे स्थान देखे हैं जहां सामग्री मानव पठनीय है, लेकिन उनके पास एक चेक फ़ील्ड हो सकती है, उदाहरण के लिए, हेक्स पैरामीटर मान जो आसानी से गणना योग्य नहीं है और फ़ाइल सामग्री पर आधारित है। यह मान फ़ाइल सत्यापन के लिए एप्लिकेशन द्वारा उपयोग किया जाता है।
15

6
अच्छा बिंदु @ इयान - चूंकि हम शब्दावली पर चर्चा कर रहे हैं, हमें मानव पठनीय और मानव संपादन के बीच अंतर करना चाहिए। दोनों अच्छी बातें हैं, मेरी राय में।
केट ग्रेगोरी

मैं आपके दावे का समर्थन करता हूं कि JSon xml की तुलना में बहुत अधिक मानव संपादन योग्य (और पठनीय) है, यदि केवल इसलिए कि xml निकाय केवल इतना ही दर्द हैं।
मैथ्यू एम।

10

आपके प्रश्न के जवाब में "क्या मानव द्वारा पठनीय प्रारूप वास्तव में मनुष्यों द्वारा पठनीय हैं", परिभाषा के अनुसार वे हैं, यही मानव पठनीय का अर्थ है।

मानव पठनीय की कोई तकनीकी परिभाषा नहीं है, यह व्यक्तिपरक है और इस बारे में सवाल हो सकते हैं कि मानव को किस स्तर के ज्ञान के लिए अर्हता प्राप्त करने की आवश्यकता हो सकती है (उदाहरण के लिए उन्हें XML के बहुत ही मूल सिद्धांतों को समझने की आवश्यकता है जैसे टैग और पदानुक्रम। , क्या उन्हें यह समझना चाहिए कि व्यावसायिक डोमेन डेटा मौजूद है - व्यक्तिगत रूप से मैं दोनों के लिए हाँ कहूँगा) लेकिन आपका मूल परीक्षण यह होना चाहिए कि क्या मैंने इसे किसी ऐसे बुनियादी तकनीकी कौशल के साथ दिखाया है जो डेटा के मूल सिद्धांतों को समझता था कि इसका प्रतिनिधित्व करने के लिए क्या था। , क्या वे इसे पढ़ सकते हैं।

व्यावहारिक स्तर पर इसका आम तौर पर निम्नलिखित अर्थ होगा:

1) डेटा को ASCII टेक्स्ट या कुछ अन्य समान रूप से सामान्य और आसानी से पहचानने योग्य प्रारूप के रूप में संग्रहीत किया जाता है

2) यह एक उचित संरचना है जो एक बुनियादी परीक्षा से स्पष्ट है। उदाहरण के लिए, आपको पता नहीं है कि पहले X अक्षर Y से संबंधित हैं, फिर अगला X Z से संबंधित है

3) डेटा और मेटा डेटा दोनों आम तौर पर अंग्रेजी में (या जो भी आपकी स्थानीय भाषा है) और समझने के लिए समस्या डोमेन के केवल सीमित ज्ञान की आवश्यकता होती है - इसलिए एक चालान संख्या "इनवॉइसनंबर" टैग में होगी, बजाय " uDef_Inbr "

4) गैर-पाठ डेटा समझदार के लिए, अनुमान लगाने योग्य सम्मेलनों का उपयोग किया गया है (उदाहरण के लिए TRUE, FALSE, Y, N, 1, 0, बजाय व्याख्या के लिए कुछ और खुले)


5

.config फ़ाइलों को रजिस्ट्री की तुलना में (ज्यादातर लोगों के लिए) संपादित करना बहुत आसान है। एक समर्पित कॉन्फ़िगरेशन फ़ाइल को खोलना, प्रासंगिक डेटा को ढूंढना आसान है, और कुछ प्रोग्राम को संपादित करने की संभावना को खोले बिना परिवर्तन करना जो अन्य कार्यक्रमों को प्रभावित करेगा।


5

यह समझने में आसानी के बारे में है (और संभावना बदल रही है)। तो "क्या एक्स मानव पठनीय है?" "हाँ" या "नहीं" के साथ उत्तर नहीं दिया जाना चाहिए। बल्कि, उत्तर किसी प्रकार के स्लाइडिंग स्केल के साथ होना चाहिए।

संभावित उदाहरण:

  • 90% प्रोग्रामर किसी भी आम टेक्स्ट एडिटर के साथ फाइल को पढ़ और बदल सकते हैं।
  • 60% अंग्रेजी बोलने वाले किसी भी आम टेक्स्ट एडिटर के साथ फाइल पढ़ सकते हैं।
  • 80% XYZ डेवलपर्स फ़ाइल को पढ़ और बदल सकते हैं, लेकिन केवल उपकरण ZYX का उपयोग कर रहे हैं।
  • 10% YZX डेवलपर्स एक आम टेक्स्ट एडिटर के साथ इस फाइल को पढ़ और बदल सकते हैं।

एक संदर्भ के बाहर, जो बताता है कि "मानव पठनीय" वास्तव में क्या मतलब है, वाक्यांश सभी को बहुत मदद नहीं करता है। (कुछ मानव कहीं न कहीं किसी भी प्रारूप को पढ़ सकते हैं, यदि आप स्वयं हार्डवेयर बिट्स के चुंबकीय ध्रुवता को देखने की कोशिश नहीं करते हैं ...)


4

मानव-पठनीय स्वरूपों और गैर-मानव-पठनीय स्वरूपों के बीच एक बड़ा अंतर है दृढ़ता। एक लिनक्स सिस्टम में, सभी प्रकार की जानकारी विभिन्न पाठ फ़ाइलों में चारों ओर बिखरी हुई होगी। आपको यह जानने की ज़रूरत है कि वे कहाँ हैं, लेकिन आप हमेशा जानकारी पा सकते हैं और पाठ संपादक के साथ इसे पढ़ और बदल सकते हैं। यदि कोई फ़ाइल गायब हो जाती है, तो आप आम तौर पर इसे बदल सकते हैं। यदि कोई फ़ाइल दूषित हो जाती है, तो आप अक्सर यह पता लगा सकते हैं कि यह क्या होना चाहिए और इसे ठीक करना चाहिए।

एक एमएस विंडोज सिस्टम में, इसमें से अधिकांश रजिस्ट्री में होगा, जो कि उपयोगकर्ताओं के दृष्टिकोण से, एक बड़ा अपारदर्शी प्रणाली, विभिन्न उपकरणों के माध्यम से भाग में सुलभ है (लिनक्स सिस्टम में कुछ कॉन्फिग फाइल की तरह), और कुल मिलाकर एक रजिस्ट्री संपादक के साथ। जब तक सब कुछ ठीक नहीं हो जाता, तब तक यह ठीक है। यदि यह टूट जाता है, तो ऐसा कुछ भी नहीं है जिसे विशेषज्ञ ज्ञान के बिना किया जा सकता है।


1
लिनक्स: "आपको यह सीखने की ज़रूरत है कि वे कहाँ हैं" बनाम विंडोज: "विशेषज्ञ ज्ञान के बिना कुछ भी नहीं किया जा सकता है"। मैं ( कई अलग-अलग ऑपरेटिंग सिस्टमों के उपयोगकर्ता के रूप में ) का चुनाव करता हूँ, जिन्हें इन सभी के लिए विशेषज्ञ ज्ञान की आवश्यकता होती है। यह जानना कि किसी समस्या को ठीक करने के लिए रजिस्ट्री को ट्वीक करना कहां है, यह जानना जटिल (या कम) जटिल नहीं है कि किस फाइल को लिनक्स या सोलारिस सिस्टम पर vi के साथ संपादित किया जा सकता है।
बेवन

3

सबसे आसान जाँच मैं उस योग्यता को "मानव पठनीय" के रूप में सोच सकता हूँ:

  • एक स्थान / फ़ाइल जिसे बाहरी संपादकों द्वारा आसानी से एक्सेस किया जा सकता है (यह रजिस्ट्री को "मानव पठनीय नहीं" बना देगा)
  • डेटा संरचना में गैर-प्रदर्शन योग्य वर्णों का उपयोग नहीं करता है। यदि मैं अंदर "पाठ" परीक्षण के साथ एक कार्यालय 2000 वर्ड डॉक बनाता हूं, तो मैं उस नोटपैड को खोलने में सक्षम हो सकता हूं और 4 वर्ण "परीक्षण" को कहीं अंदर ढूंढ सकता हूं, लेकिन इसके चारों ओर अन्य सामान भी होगा।
  • आवश्यक नहीं है, लेकिन वर्णनात्मक मेटाडेटा वाले प्रारूप एक से अधिक हैं। एक फ़ाइल जिसमें JohnSmith|34|T|Fकम से कम अनुकूल है <User><Name>JohnSmith</Name><id>34</id><isActive>T</isActive><isAdmin>F</isAdmin></User>, जैसा कि पता है कि 2 में फ़ील्ड क्या हैं (कम से कम आम तौर पर)।

2

मुझे लगता है कि आप पूछ रहे हैं कि क्या "मानव-पठनीय" शब्द को कभी-कभी गलत तरीके से लागू किया जाता है, और इसमें कोई संदेह नहीं है। रजिस्ट्री प्रविष्टियों बनाम .config फ़ाइलों के उदाहरण में, मुझे लगता है कि यह मदद करता है कि आप XML को अलग-अलग तरीकों से डेटा, इंटरसेप्टर टिप्पणियों और इतने पर निर्भर कर सकते हैं।

.Config फ़ाइलों में संग्रह आम तौर पर कई तत्वों के रूप में संभाला जाता है, जबकि रजिस्ट्री में यह अधिक कठिन होता है, अक्सर एक MULTI_SZ के रूप में।

आप एक बार में एक आवेदन के लिए कॉन्फ़िगरेशन डेटा के और अधिक देख सकते हैं - regedit के साथ, कुछ ऐसा देखने के लिए जो आपको एक अलग कुंजी में है जिसे आपको उस कुंजी पर नेविगेट करने की आवश्यकता है, जिसका अर्थ है कि आप अब उन प्रविष्टियों को नहीं देख सकते हैं जिन्हें आप पहले देख रहे थे। .Config फ़ाइलों के साथ, आप एक ही बार में पूरी फ़ाइल देख सकते हैं, भले ही उस फ़ाइल में पदानुक्रमित डेटा हो।


रजिस्ट्री दोनों है। इसके बिट्स हैं जो बहुत पठनीय हैं, अन्य जो कि बहुत विशेषज्ञ ज्ञान के बिना किसी को भी अस्पष्ट हैं।
जॉन हॉपकिंस

सच है, और आप कह सकते हैं कि कुछ .config फाइलें जिबरिश जैसी दिखती हैं। ध्यान दें कि मैं COM रजिस्ट्री जानकारी के बारे में भी नहीं सोच रहा था, मैं उन एप्लिकेशन सेटिंग्स के बारे में सोच रहा था जो रजिस्ट्री में चली जाएंगी - आपके द्वारा .config फ़ाइलों में प्राप्त सेटिंग्स के लिए एक सहकर्मी। मुझे नहीं लगता कि कोई भी इंसान के लिए COM जानकारी पढ़ने का इरादा रखता है।
16

2

बाइनरी के साथ "मानव पठनीय" का विरोध करें। उदाहरण के लिए, आप आम तौर पर एक वेनिला टेक्स्ट एडिटर में एक निष्पादन योग्य या डेटाबेस इंडेक्स नहीं खोल सकते हैं और समझ सकते हैं कि सामग्री क्या है। दशमलव 32 के नीचे बाइट्स में दृश्यमान वर्णों के रूप में विश्व स्तर पर मानक प्रतिनिधित्व नहीं है।


1

संक्षिप्त उत्तर: इसका अर्थ है कि जानकारी को बाइनरी या हेक्स के बजाय पाठ के रूप में दर्ज किया गया है, आदि कुछ ऐसा है जो एक कंप्यूटर "मशीन भाषा" के बजाय एक पठनीय "भाषा" के साथ समानता रखता है। इससे परे, परिभाषा मूक हो जाती है।


1

यह कोड पर भी लागू होता है - आप अपने कार्यक्रम को तार्किक और विचारशील तरीके से संरचना करते हैं जैसे कि किसी को भी पहली बार देखने का काम थोड़ा आसान हो जाता है।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.