कोड की चौड़ाई के लिए 80 अक्षर 'मानक' की सीमा क्यों है?


573

80 वर्ण कोड चौड़ाई के लिए "मानक" सीमा क्यों है? 80 और 79, 81 या 100 क्यों नहीं? इस विशेष मूल्य का मूल क्या है?



14
अरे! क्या आप पूछने से पहले एक सप्ताह इंतजार नहीं कर सकते थे? यह एक प्रतियोगिता जीतने वाला सवाल हो सकता था ।
यानिस

12
इससे पहले कि कोई इस प्रश्न का दूसरा उत्तर जोड़ने के बारे में सोचता है, कृपया स्वीकृत उत्तर और मार्क बूथ का उत्तर पढ़ें । ये प्रश्न का उत्तर व्यापक रूप से देते हैं। पंचकार्ड पहले आया।
ChrisF

4
क्यों सीमांत सामान्य ज्ञान के इस टुकड़े में 139 उत्थान हैं जो मेरे से परे हैं। इस बीच, लगभग हर दूसरे प्रश्न पहले पन्ने में (अच्छा या बुरा) है जिस तरह से कम वोट। क्या हमारा सामूहिक मतदान मानदंड टूट गया है? :( (@ फ़्रेडली यह आपकी आलोचना नहीं है, लेकिन हमारे समुदाय की)
एंड्रेस एफ

6
@AndresF। इस पोस्ट ने अच्छी तरह से किया है कि यह एक अच्छा शीर्षक के पीछे बहुत से लोगों की दिलचस्पी होगी। इसने सुपरकोलाइडर के शीर्ष पर एक दिन बिताया, और इसे हैकर न्यूज़ आदि के लिए बनाया। यह मामूली मामूली बात हो सकती है, लेकिन यह अच्छी सामग्री है!
फ्रेडली

जवाबों:


735

आप इस सीमा के लिए आईबीएम पंच कार्ड का धन्यवाद कर सकते हैं - इसमें 80 कॉलम थे:

आईबीएम पंच कार्ड


64
उसके बाद शुरुआती टेलेटाइप्स, और बाद में वीडियो टर्मिनलों ने एक मानक चौड़ाई के रूप में 80 कॉलम (और फिर 132 कॉलम) का उपयोग किया।
लैपटॉप 006

262
अब सवाल यह है कि आईबीएम पंच कार्ड में 80 कॉलम क्यों थे?
फैक्टर मिस्टिक

139
@FactorMystic - पंच कार्ड का आकार 1880 के उत्तरार्ध में था, जब हॉलरिथ ने उन्हें 1890 की जनगणना में सहायता करने के लिए डिज़ाइन किया था ।

56
कार्ड का आकार उस आकार का है क्योंकि 1890 में, CTR ने जनगणना के डेटा कार्ड को ले जाने के लिए मुद्रा वाहकों (डॉलर वापस तो बड़ा था) का पुन: उपयोग करना चाहा था।
अल बिगलान

89
@AlBiglan मुद्रा का आकार क्यों था?
फ्रेडले

249

के रूप में Oded उल्लेख किया है, यह आम कोडिंग मानक आईबीएम के 1928 के एक परिणाम है 80 कॉलम पंच्ड कार्ड प्रारूप , के बाद से कई कोडन मानकों वापस एक समय था जब कार्यक्रमों एक समय में पंच कार्ड, एक कार्ड / लाइन पर लिखा गया था तिथि, और यहां तक कि संक्रमण व्यापक स्क्रीनों ने इस तथ्य को नहीं बदला कि कोड जितना व्यापक हो जाता है, उसे पढ़ना उतना ही कठिन हो जाता है।

छिद्रित कार्ड पर विकिपीडिया पृष्ठ से :

सांस्कृतिक प्रभाव

  • 80 कॉलम पंच कार्ड प्रारूप की एक विरासत यह है कि प्रति पंक्ति 80 वर्णों का प्रदर्शन वर्ण-आधारित टर्मिनलों के डिजाइन में एक आम पसंद था। नवंबर 2011 तक कुछ कैरेक्टर इंटरफेस डिफॉल्ट्स, जैसे कि माइक्रोसॉफ्ट विंडोज में कमांड प्रॉम्प्ट विंडो की चौड़ाई, 80 कॉलम पर सेट रहते हैं और कुछ फाइल फॉर्मेट, जैसे कि फिट्स, अभी भी 80-कैरेक्टर कार्ड इमेज का उपयोग करते हैं।

अब सवाल यह है कि आईबीएम ने 1928 में 80 कॉलम कार्ड क्यों चुने, जब हरमन होलेरिथ ने पहले 24 और 45 कॉलम कार्ड का इस्तेमाल किया था ?

यद्यपि मुझे कोई निश्चित उत्तर नहीं मिल रहा है, मुझे संदेह है कि विकल्प उस समय के टाइपराइटरों की प्रति पंक्ति वर्णों की विशिष्ट संख्या पर आधारित था ।

के अधिकांश ऐतिहासिक टाइपराइटरों मैं एक था देखा है पट्ट लगभग 9 इंच की चौड़ाई है, जो (देखें लगभग 8 "-8.5" चौड़ा करने के लिए पेपर आकार के मानकीकरण के साथ मेल खाती क्यों अमेरिका 8 साढ़े "x 11 में मानक पेपर आकार है "? और ISO216 का इतिहास एक श्रृंखला पेपर मानक )।

प्रति इंच 10-12 वर्णों का एक विशिष्ट टाइपराइटर पिच जोड़ें और इससे मार्जिन के आकार के आधार पर 72 और 90 अक्षरों के बीच की चौड़ाई वाले दस्तावेज़ हो जाएंगे।

जैसे, प्रति कार्ड आकार को बनाए रखते हुए प्रति पंक्ति 80 वर्ण छेद पिच (छोटे आयताकार बनाम बड़े गोल छेद) और रेखा की लंबाई के बीच एक अच्छा समझौता करते हैं।


संयोग से, हर जगह उनके कोडिंग मानकों में एक 80 वर्ण रेखा चौड़ाई निर्दिष्ट नहीं है। जहाँ मैं काम करता है एक 132 वर्ण सीमा, जो योर के विशिष्ट वाइड लाइन प्रिंटर की चौड़ाई से मेल खाती है , एक 12 वीं परिदृश्य ए 4 प्रिंटआउट और विशिष्ट पंक्ति चौड़ाई ग्रहण की संपादक विंडो में शेष है (पैकेज एक्सप्लोरर पर एक 1920x1200 स्क्रीन पर अधिकतम) और रूपरेखा विचारों को ध्यान में रखा जाता है।

फिर भी, मैं अभी भी 80 वर्णों वाला विस्तृत कोड पसंद करता हूं क्योंकि यह फ़ाइल साइड-बाय-साइड के तीन संशोधनों की तुलना करना आसान बनाता है, या तो बग़ल में स्क्रॉल किए बिना (हमेशा खराब) या रैपिंग लाइन्स (जो कोड स्वरूपण को नष्ट कर देता है)। 80 कैरेक्टर वाइड कोड के साथ, आपको एक स्क्रीन पर आराम से एक पूर्ण तीन-तरफा मर्ज (सामान्य पूर्वज, स्थानीय शाखा और दूरस्थ शाखा) देखने के लिए केवल 240 वर्ण चौड़ी स्क्रीन (8 पिक्सेल प्रति वर्ण में 1920 पिक्सेल ) की आवश्यकता होती है।


2
एक और अटकल-उत्सव शुरू करने के लिए नहीं, लेकिन होलेरिथ के कार्ड में परिपत्र छेद थे, आईबीएम 5081 एट अल के आयत नहीं और आईबीएम ने बाद में कार्ड में प्रवेश किया, सिस्टम / 3 प्रारूप में कॉलम के 3 क्षैतिज बैंड में 96 परिपत्र छेद थे।
रॉस पैटरसन

9
बड़ी स्क्रीन पर भी 80 पात्रों का उपयोग जारी रखने का प्रयास करने का एक अच्छा कारण यह है कि कई प्रोग्रामर छोटे टर्मिनल (या यहां तक ​​कि आईडीई) खिड़कियों का उपयोग करना पसंद करते हैं, बजाय उन्हें हर समय पूर्ण-स्क्रीन रखने के।
rkulla

4
@rkulla कितने दशकों के लिए हमें 80 चरित्र की सीमा लागू करनी चाहिए? कुछ भाषाओं के लिए सुनिश्चित करें जैसे कि लघु पहचानकर्ताओं के साथ यह ठीक है लेकिन अन्य लोगों के लिए जैसे C # लंबे पहचानकर्ताओं के साथ, यह एक दर्द हो सकता है। सौभाग्य से, हम एक 132 चार सीमाएं लगाते हैं जहां मैं अभी हूं लेकिन मैं 80 से बहुत नाराज हो गया था, खासकर पायथन में
बेसिक

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

5
@MarkBooth मैं इसे बहुत ज्यादा नहीं खींचूंगा क्योंकि यह एक धार्मिक मुद्दा है, लेकिन पीईपी 8 द्वारा बहुत लंबे समय के लिए ध्वजांकित किया जाता है ... `(8 रिक्त स्थान) HttpResponse (JsonLib) (एनकोड) (रिट)। , content_type = "application / json") `और हाँ इसे कई लाइनों में तोड़ा जा सकता है लेकिन यह विभिन्न नियंत्रकों में बिखरा हुआ है और ऐसा नहीं लगता है कि यह 80-char" मानक "को पूरा करने के अलावा बंटने लायक है।
बेसिक

59

मैं कहता हूँ कि यह भी है क्योंकि पुराने टर्मिनल (ज्यादातर) आकार में 80x24 वर्ण थे: 80x24 टर्मिनलों के दिनों में वापस ...

संपादित करें:

प्रश्न का अधिक सटीक और अधिक अच्छी तरह से उत्तर देने के लिए, 80 अक्षर वर्तमान "सार्वभौमिक रूप से स्वीकार किए जाते हैं" संपादकों के अंदर कोड चौड़ाई की सीमा है क्योंकि 80x24 और 80x25 प्रारूप प्रारंभिक I / O टर्मिनलों और व्यक्तिगत कंप्यूटरों में सबसे आम स्क्रीन मोड थे ( VT52) - धन्यवाद Sandman4 को)।

यह सीमा अभी भी मान्य और दो मुख्य कारणों से किसी भी तरह महत्वपूर्ण IMHO है: डिफ़ॉल्ट ज्यामिति है कि कई Linux distros नव पैदा टर्मिनल खिड़कियों को असाइन अभी भी 80x24 है और कई लोगों उन्हें इस्तेमाल के रूप में है , आकार बदलने के बिना। इसके अलावा, कर्नेल, रीयल-टाइम और एम्बेडेड प्रोग्रामर अक्सर बिना किसी विंडो मैनेजर के "हेडलेस" वातावरण में काम करते हैं। फिर से, डिफ़ॉल्ट स्क्रीन रिज़ॉल्यूशन अक्सर 80x24 (या 80x25) होता है, और इन स्थितियों में, इस डिफ़ॉल्ट सेटिंग को बदलना भी मुश्किल हो सकता है।

इसलिए यदि आप एक कर्नेल, रियल-टाइम या एम्बेडेड प्रोग्रामर हैं, तो आपको अपने आप को इस सीमा का सम्मान करने के लिए मजबूर करना चाहिए, बस किसी भी प्रोग्रामर के प्रति "अधिक अनुकूल" होना चाहिए जो आपके कोड को पढ़ना चाहिए।



9
-1 पूर्व उत्तर न पढ़ने के लिए और बेकार लिंक के लिए जो कहता है कि "80x24 टर्मिनलों के दिनों में वापस, एक लोकप्रिय यूनिक्स गेम के मूल लेखकों में से एक की अक्सर तारीफ की जाती थी कि उसका कोड कितनी अच्छी तरह से टिप्पणी की गई थी। उन्होंने कहा कि उन्हें ऐसा इसलिए है क्योंकि वह हमेशा पॉट धूम्रपान किया वह जब कोडित और सोचा जब स्क्रीन स्क्रॉल के बारे में उनकी गाड़ी खो देगा करते हैं। "
कुटकी

7
आपका स्वागत है Avio के लिए क्षमा करें, आप बस एक पोस्ट पर कूदने के लिए हुआ जो बेहद लोकप्रिय है! हम चीजों को यहां के बाकी इंटरनेट से थोड़ा अलग तरीके से करते हैं। हम अन्य चीजों के बीच दोहराव से नफरत करते हैं। आरंभ करने के लिए faq का एक पाठ लें , आपको फिर से देखने की उम्मीद है!
फ्रेडली

6
डाउनवोट के लिए औचित्य करने के लिए +1। एक और +1 (अगर मैं कर सकता था) क्योंकि कोड के लिए 80-वर्ण की सीमा 80-कॉलम टर्मिनल के कारण है और यह बदले में पंचकार्ड से संबंधित हो सकता है या नहीं भी हो सकता है।
Sandman4

4
+1 @ रॉसपैटर्सन के पतन का मुकाबला करने के लिए। किसी भी विकिपीडिया संदर्भों पर कोई उद्धरण नहीं है जो कि 80 सीसीआर को पंचकार्डों के रूप में प्रस्तुत करता है; यह पूरी तरह से संयोग हो सकता है, और आमतौर पर "सत्य" को स्वीकार करना जो वास्तव में सच नहीं है। मुझे मूल इंजीनियरों में से एक के साथ एक साक्षात्कार दिखाएं, जिन्होंने वीटी 52 को निर्दिष्ट किया जहां वह कहते हैं कि वे एक आईबीएम पंचकार्ड मानक का पालन कर रहे थे।
जेरेमी होलोवैक्स

52

जबकि शायद 80 चरित्र सीमा का मूल कारण नहीं था, एक कारण जिसे व्यापक रूप से स्वीकार किया गया था वह केवल एर्गोनॉमिक्स पढ़ रहा है :

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

यह टाइपोग्राफी में व्यापक रूप से जाना जाता है और स्वीकार किया जाता है। मानक सिफारिश (पुस्तकों आदि में पाठ के लिए) प्रति पंक्ति 40-90 वर्णों के क्षेत्र में कुछ उपयोग करना है , और आदर्श रूप से लगभग 60 (उदाहरण के लिए विकिपीडिया , मार्कस इटकोनन: टाइपोग्राफी और पठनीयता )।

यदि आप प्रति पंक्ति 60 वर्णों का लक्ष्य रखते हैं, तो कभी-कभी लंबी अभिव्यक्ति (और मार्जिन मार्कर और लाइन नंबर जैसी चीजें) को समायोजित करने के लिए आपकी ऊपरी सीमा स्पष्ट रूप से थोड़ी अधिक होनी चाहिए, इसलिए 70-80 की ऊपरी सीमा होने से समझ में आता है।

यह संभवतः बताता है कि 80 वर्ण की सीमा को कई अन्य प्रणालियों द्वारा क्यों लिया गया था।


1
मुझे यह उत्तर पसंद है क्योंकि यह विशिष्ट तकनीक से परे है और "सही" मूल तकनीक की खोज से बचा जाता है।
काक्यो

26

एक संबंधित प्रश्न "क्यों 80 स्तंभ कायम है"। यहां तक ​​कि इस पृष्ठ पर प्रतिक्रियाएं लगभग उस चौड़ाई की हैं। मैं 80 स्तंभों के ऐतिहासिक कारणों से सहमत हूं, लेकिन सवाल यह है कि मानक क्यों कायम है। मैं पठनीयता का दावा करूंगा - गद्य और कोड के लिए। हमारे दिमाग केवल इतनी जानकारी को एक टुकड़े में अवशोषित कर सकते हैं। मैं अभी भी अपने कोड एडिटर में 80 कॉलम मार्कर का उपयोग करता हूं ताकि मुझे याद दिलाया जा सके कि एक स्टेटमेंट बहुत लंबा और अस्पष्ट है। यह मुझे ब्राउज़र के लिए स्क्रीन रियल-एस्टेट, और सहायक आईडीई विंडोज़ के लिए बहुत सारे छोड़ देता है। लंबे समय तक लाइव 80 कॉलम - एक गाइड के रूप में एक नियम नहीं है।


4
मैंने टाइपोग्राफी चर्चाओं में वर्णित 80-चरित्र (लगभग) अधिकतम चौड़ाई देखी है - जाहिर है कि यह वास्तव में पठनीयता, एकरूपता या नहीं मदद करता है।
nkorth

12

फिक्स्ड पिच फोंट के दिनों में एक और आम लाइन की लंबाई सीमा 72 वर्ण थी। उदाहरण: फोरट्रान कोड, मेल, समाचार।

एक कारण यह था कि एक पंच कार्ड के 73-80 कॉलम अक्सर एक सीरियल नंबर के लिए आरक्षित होते थे। एक सीरियल नंबर क्यों? यदि आपने कार्ड डेक को गिरा दिया है, तो आप किसी भी क्रम में कार्ड उठा सकते हैं, ऊपरी बाएं कोनों (जो हमेशा एक विकर्ण कट था) को ऊपर की ओर ले जाएं और उन्हें क्रम में वापस लाने के लिए कार्ड छँटाई मशीन का उपयोग करें।

72-वर्ण सीमा के लिए एक और कारण यह था कि आम फोंट 10 अंक ऊंचे और 6 अंक (1/12 ") चौड़े थे। एक A4 या 8.5" चौड़ा पृष्ठ 6 "चौड़े कॉलम में 72 अक्षर रख सकता था और अभी भी मार्जिन के लिए जगह है। एक इंच से अधिक।


7

मैं व्यक्तिगत रूप से अपने कॉलम के अंत के लिए "कॉलम 80 के बारे में" कहता हूं क्योंकि जब आप इसे प्रिंट करते हैं तो रैपिंग या खोए हुए कोड से आगे।

पंच कार्ड की विरासत भी है, लेकिन मुझे नहीं लगता कि लेजर प्रिंटर या 8.5x11 इंच का पेपर पंच कार्ड की सीमाओं के अनुरूप था।


जैसा कि मैंने अपने उत्तर @CMike में सुझाव दिया है , मुझे लगता है कि यह संभव है कि पंच कार्ड की चौड़ाई टाइपराइटर प्लैटेंस के आकार से संबंधित है और इस प्रकार पेपर आकार (या इसके विपरीत)।
मार्क बूथ

4

प्रिंटर पेपर में स्क्रॉल पत्र का आकार या 15 "चौड़ा था।

यह कोड्स या रिपोर्ट्स की हार्डकॉपी के लिए 80 cps लाइन प्रिंटर थे, और बाद में एप्सन 132 cps कंडेंस्ड प्रिंटिंग (कंडेनड प्रिंट के लिए कोड कोड 015) का समर्थन करता है।


विशेष रूप से तब जब यह इस पृष्ठ पर (कई बार) लिखा गया हो!
फ्रेडली

12
@ टिप्पणी: आपको Q & A साइट पर कुछ नहीं जानने के लिए किसी को भी डाउनवोट नहीं करना चाहिए !
अबिष्टशेव

6
@abatishchev - लेकिन इसका उत्तर इस पृष्ठ पर दिया जा रहा है ।
ChrisF

10
@abatishchev वास्तव में, यह बिल्कुल StackExchange साइटों का विचार है। "अच्छे" उत्तरों को उखाड़ा जाना चाहिए, और "खराब" उत्तरों को नीचे उतारा जाना चाहिए, ताकि यह सुनिश्चित हो सके कि भविष्य के पाठक जो स्वयं के लिए न्याय करने में सक्षम नहीं हो सकते हैं, वे उत्तरों की समुदाय की राय जान सकते हैं।
रॉस पैटरसन

2
@abatishchev यह उन उत्तरों को वोट करने के बारे में नहीं है जिन्हें आप पसंद नहीं करते हैं, यह उन उत्तरों को वोट करने के बारे में है जो उपयोगी नहीं हैं । वोटिंग बटन के माउस-ओवर टेक्स्ट देखें।
मार्क बूथ

0

80 कॉलम कार्ड के कारणों में से एक 'हैंड पंच' से जुड़ा हो सकता है, जो इलेक्ट्रॉनिक कार्ड पंच मशीनों से पहले उपयोग में था। यह एक है जो मैंने 70 के दशक के शुरुआती दिनों में ICL सिस्टम 4-50 मुख्य फ्रेम कंप्यूटर साइट पर इस्तेमाल किया था। एक को तीन का एक खंड पंच करना था? एक ही समय में गाड़ी में पंच चाकू।

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