प्रोग्रामर ने पंचकार्ड्स का उपयोग करते समय प्रोग्रामिंग कैसे काम किया?


11

मैंने इसे देखा: पंचकों पर कार्यक्रम सीखना

और मैंने इसे देखा है: http://en.wikipedia.org/wiki/Computer_programming_in_the_punched_card_era

लेकिन वे वांछित होने के लिए बहुत कुछ छोड़ देते हैं।

क्या कोई मुझे समझा सकता है कि जब प्रोग्रामर ने पंचकार्ड्स का इस्तेमाल किया तो प्रोग्रामर कैसे थे? विशेष रूप से, इनपुट कंप्यूटर का सिस्टम पंच कार्ड से निर्देश प्राप्त करता था।

मुझे रेट्रो कंप्यूटर के बारे में ज्यादा जानकारी नहीं है, इसलिए इनपुट की कोई भी एक प्रणाली जिससे आप परिचित हैं वह ठीक होगी। अधिक सामान्य उत्तरों की भी सराहना की जाती है।

जवाबों:


16

एक शब्द में, खराब।

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

एक विशिष्ट मामले में आपने हाथ से कोड लिखा, फिर इसे कार्ड पर मुक्का मारा। प्रत्येक कार्ड कोड की एक पंक्ति (80 कॉलम तक) रखता है। आपने निष्पादित करने के लिए कार्ड डेक लिया। बैकलॉग के आधार पर, कहीं भी एक घंटे या एक दिन बाद तक, आपको परिणामों के प्रिंटआउट के साथ अपना डेक वापस मिल गया।

मुझे संभवतः जोड़ना चाहिए: चूंकि आपका कार्ड डेक नौकरी के रूप में चला गया था, इसलिए आपने केवल प्रोग्राम के लिए कोड जमा नहीं किया था - आपको अपने संकलन और निष्पादित करने के निर्देशों के साथ एक बैच फ़ाइल / शेल स्क्रिप्ट के समान अस्पष्ट कुछ लिखना था। कोड। आईबीएम जेसीएल (एक उदाहरण के लिए) अपने हॉलेरिथ-कार्ड की उत्पत्ति से काफी प्रभावित है।

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

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


मुझे लगता है कि आप जो वर्णन करते हैं वह चीजों को करने का एक बहुत अधिक आधुनिक तरीका है। कार्ड सॉर्टर और फीडर? अच्छाई, मेरी माँ ने उस के लिए मार दिया होगा ...: - D
littleadv

@ लिटलिडेव: हॉलैरिथ कार्ड और फीडर कंप्यूटर से संबंधित हैं। मैं सॉर्टर्स के बारे में कम निश्चित हूं, लेकिन मुझे पूरा यकीन है कि वे भी करते हैं।
जेरी कॉफिन

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

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

2
न केवल कार्यक्रमों को कार्ड पर छिद्रित किया गया था, इनपुट डेटा और आउटपुट डेटा को कार्ड पर छिद्रित किया गया था। कार्ड 70 के दशक के अंत और 80 के शुरुआती दिनों में भंडारण का प्राथमिक रूप थे। कंपाइलर और लोडर के अलावा अन्य किसी भी चीज के लिए डिस्क स्पेस बहुत महंगा था।
गिल्बर्ट ले ब्लैंक

6

आपने संपादक के रूप में कार्ड पंच का उपयोग किया।

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

अधिकांश भाग के लिए कार्ड "अपरिवर्तनीय" थे, लेकिन आप पतली अपारदर्शी चिपचिपा टेप के साथ छेदों पर टैप करके पात्रों को निकाल सकते हैं।

आप अपने कार्यक्रम में उचित JCL से घिरे हुए पढ़ते हैं और परिणामों के लिए प्रिंटर का इंतजार करते हैं। (घंटे हो सकते हैं!)


4

बहुत धीरे।

मेरी माँ एक ऐसी प्रोग्रामर थीं, इसलिए मेरे पास बड़े होने के दौरान घर पर इन कार्डों के टन थे। वे कार्ड पर प्रोग्राम को एन्कोडिंग करते हैं, और फिर कार्ड रीडर में एक-एक करके कार्ड खिलाते हैं (वोटिंग मशीन अब कैसे काम करती है)। यदि आपने कार्ड गिरा दिया है - तो आप बहुत परेशानी में होंगे, क्योंकि आपके पास केवल एक्स मशीन का समय है जो आपके लिए आवंटित है और आपको उन्हें सही क्रम में व्यवस्थित करना होगा और मशीन को फिर से खिलाना शुरू करना होगा और बनाने की कोशिश करनी होगी अगले प्रोग्रामर से पहले समय पर इसे बाहर निकालता है। एक तुच्छ (हमारे वर्तमान मानकों में) कार्यक्रम को सैकड़ों की आवश्यकता हो सकती है, यदि हजारों नहीं, ऐसे कार्डों के, और इसे लोड करने और चलाने के लिए मशीन समय के घंटे।

बहुत थकाऊ है।


दूसरी ओर, शायद उद्योग में बहुत कम परजीवी थे :)
हेलेम

इस बात पर निर्भर करता है कि आप "परजीवी" को कैसे परिभाषित करते हैं .... :)
littleadv

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

ओह नॉस्टेल्जिया ... पुराने समय में दुनिया इतनी बेहतर जगह थी! लेकिन वास्तव में, यह ज्यादातर है क्योंकि हम खराब सामान को भूल जाते हैं। सभी तरह के बैंडबाजों पर झूमते हुए लोगों की भीड़ थी, हमेशा रही है और हमेशा रहेगी।
littleadv

Shhhh। वो दिन थे। बस इतना ही। (मैं वास्तव में नहीं जानता, मैं वहाँ नहीं था।)
जाइलम

1

कुछ मायनों में "बहुत अलग नहीं", कुछ मायनों में "बहुत अलग"।

उन्होंने स्रोत कोड लिखा, आमतौर पर कागज पर। यह तब पंच कार्ड (कार्ड के स्रोत कोड की एक पंक्ति, आमतौर पर लाइन नंबर के साथ टाइप किया गया था, ताकि आप गलत क्रम में समाप्त होने पर अपने स्रोत कोड को आसानी से ठीक कर सकें)।

तब प्रोग्राम को कार्ड के साथ उपसर्ग दिया गया था कि प्रोग्राम को कैसे संकलित किया जाए और इसे कैसे चलाया जाए और डेटा फ़ाइल (ओं) को माउंट करने के लिए (या टेप, आदि) के निर्देशों के साथ प्रत्यय दिया गया था।

इसके बाद ऑपरेटरों को सौंप दिया गया, जो कार्ड को स्पीड-रीडर में लोड करेंगे, नौकरी चलाएंगे और प्रिंट-आउट पर परिणाम लौटाएंगे।

"कल" के आदेश पर होने वाले एक विशिष्ट संपादन / संकलन / परिणाम चक्र के साथ, लोग अधिक पैरा-बेंच होने की दिशा में प्रवृत्त हुए और वाक्यविन्यास त्रुटियों के लिए अपने कोड की जाँच की।

इंटरैक्टिव डिबगिंग की कोई संभावना नहीं होने के साथ, निष्पादन का पता लगाने का एकमात्र तरीका निष्पादन के दौरान मुद्रित डीबग लाइनें होगी।

कुछ स्थानों पर, कोड पंच कार्डों के बजाय पंच टेप पर होगा।

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