1987 या इसके बाद में, मैंने एक कंपनी के साथ नौकरी की, जिसने मुझे काम पर रखा क्योंकि मैं उन मुट्ठी भर लोगों में से एक था जो रहस्योद्घाटन का उपयोग करना जानते थे। रहस्योद्घाटन, यदि आपने इसके बारे में कभी नहीं सुना है, तो अनिवार्य रूप से पिक ऑपरेटिंग सिस्टम का एक पीसी-आधारित कार्यान्वयन था - जो, यदि आपने इसके बारे में कभी नहीं सुना है, तो इसका नाम इसके आविष्कारक से मिला, जिसे फ़बाउली नाम दिया गया था। पिक ओएस के बारे में बहुत कुछ कहा जा सकता है, इसमें से अधिकांश अच्छे हैं। कई सुपरमिनी विक्रेताओं (प्राइम और एमआइपी, कम से कम) ने पिक, या इसके स्वयं के कस्टम कार्यान्वयन का उपयोग किया।
यह कंपनी एक प्राइम शॉप थी, और अपने इन-हाउस सिस्टम के लिए वे सूचना का उपयोग करते थे। (नहीं, यह वास्तव में इसका नाम था: यह प्रधान मंत्री का पिक का कार्यान्वयन था।) उनके पास एक पीसी-आधारित प्रणाली बनाने के लिए राज्य के साथ एक अनुबंध था, और सभी काम करने से पहले एक साल के बारे में अपने रहस्योद्घाटन परियोजना में डाल दिया था, जो उनके एमआईएस निदेशक थे, उन्होंने फैसला किया कि वह अब दोनों काम नहीं कर सकते हैं और मुझे काम पर रखा है।
किसी भी दर पर, उन्होंने अपने प्राइम-आधारित सॉफ़्टवेयर के लिए कई कोडिंग मानक स्थापित किए, जिनमें से कई दो बुनियादी स्थितियों से प्राप्त हुए: 1) 80-कॉलम डंबल टर्मिनलों का उपयोग, और 2) तथ्य यह है कि 'प्राइम डन' के बाद से t के पास एक विज़ुअल एडिटर है, वह खुद लिखेगा। पिक कोड की जादुई पोर्टेबिलिटी के कारण, वह अपने संपादक को रहस्योद्घाटन में ले आया, और पीसी पर पूरी परियोजना का उपयोग करके बनाया था।
रहस्योद्घाटन, ज़ाहिर है, पीसी-आधारित होने के नाते, एक पूरी तरह से अच्छा पूर्ण-स्क्रीन संपादक था, और जब आप पिछले कॉलम 80 गए तो कोई आपत्ति नहीं थी। हालांकि, पहले कई महीनों तक मैं वहां था, उन्होंने जोर देकर कहा कि मैं उनके संपादक का उपयोग करता हूं और उसके मानक।
इसलिए, पहला मानक यह था कि कोड की प्रत्येक पंक्ति पर टिप्पणी की जानी थी। हर पंक्ति। कोई अपवाद नहीं। उसके लिए उसका तर्क यह था कि भले ही आपकी टिप्पणी ने वही कहा था जो आपने अभी-अभी कोड में लिखा था, यह टिप्पणी करने का मतलब है कि आपने कम से कम दो बार लाइन के बारे में सोचा था। इसके अलावा, जैसा कि उन्होंने स्पष्ट रूप से बताया, उन्होंने संपादक के लिए एक कमांड जोड़ी जो कोड की प्रत्येक पंक्ति को स्वरूपित करता था ताकि आप एक अंत-पंक्ति टिप्पणी डाल सकें।
अरे हाँ। जब आप कोड की प्रत्येक पंक्ति पर टिप्पणी करते हैं, तो यह अंतिम-पंक्ति टिप्पणियों के साथ होती थी। संक्षेप में, प्रत्येक पंक्ति के पहले ६४ अक्षर कोड के लिए थे, फिर एक अर्धविराम था, और फिर आपके १४ वर्णों का वर्णन करने के लिए आपके पास १५ वर्ण थे। संक्षेप में, हम अपने पिक / बेसिक कोड को प्रारूपित करने के लिए असेंबली भाषा के सम्मेलन का उपयोग कर रहे थे। इससे ऐसी चीजें सामने आईं जो इस तरह दिखती थीं:
EVENT.LIST[DATE.INDEX][-1] = _ ;ADD THE MOST RECENT EVENT
EVENTS[LEN(EVENTS)] ;TO THE END OF EVENT LIST
(वास्तव में, 20 वर्षों के बाद मैं अंत में आर / बेसिक की लाइन-कंटिन्यू सिंटैक्स भूल गया हूं, इसलिए यह अलग दिख सकता है। लेकिन आपको यह विचार मिल सकता है।)
इसके अतिरिक्त, जब भी आपको बहु-भाषी टिप्पणियां सम्मिलित करनी थीं, नियम यह था कि आप एक फूल बॉक्स का उपयोग करें:
************************************************************************
** IN CASE YOU NEVER HEARD OF ONE, OR COULDN'T GUESS FROM ITS NAME, **
** THIS IS A FLOWER BOX. **
************************************************************************
हां, प्रत्येक लाइन पर तारांकन बंद करने वालों की आवश्यकता थी। आखिरकार, यदि आपने उसके संपादक का उपयोग किया, तो फूल बॉक्स डालना सिर्फ एक साधारण संपादक कमांड था।
उसे रिलेट करना और मुझे प्रकाशितवाक्य के अंतर्निहित संपादक का उपयोग करने देना काफी मुश्किल था। पहले तो वह जिद कर रहा था, सिर्फ इसलिए कि वे नियम थे। जब मुझे इस बात पर आपत्ति थी कि a) मैं पहले से ही प्रकाशितवाक्य संपादक b जानता था) यह उसके संपादक की तुलना में बहुत अधिक कार्यात्मक था, तो ग) अन्य रहस्योद्घाटन डेवलपर्स का एक ही दृष्टिकोण होगा, उन्होंने कहा कि अगर मैं उनके संपादक पर प्रशिक्षण नहीं देता तो मैं नहीं कर सकता कभी भी प्रधान कोडबेस पर काम करने में सक्षम होना चाहिए, जो कि जैसा कि हम दोनों जानते थे, तब तक होने वाला नहीं था जब तक नरक अधूरा रह गया था। अंत में उसने अंदर दिया।
लेकिन कोडिंग मानक अंतिम थे। विशेष रूप से फूल-बॉक्स की टिप्पणी समय की एक बेकार बर्बादी थी, और उन्होंने मुझे दाँत और नाखून से लड़ाया, यह कहते हुए कि अगर मैं सही संपादक का उपयोग करूंगा तो उन्हें बनाए रखना पूरी तरह से आसान होगा। (पूरी बात बहुत ही निष्क्रिय-आक्रामक हो गई।) अंत में मैंने चुपचाप अंदर दिया, और तब से मैं कोड समीक्षाओं के लिए लाए गए सभी कोडों पर उनकी कीमती फूल-बॉक्स टिप्पणियां थीं।
एक दिन, नौकरी में कई महीने, जब मैं खुद को सक्षम से अधिक साबित कर देता था (विशेषकर अन्य कोडर्स की उल्लेखनीय परेड के साथ तुलना में जो उस कार्यालय से गुजरते समय मैंने वहां काम किया था), वह मेरे कंधे पर देख रहा था जैसे मैं काम किया, और उन्होंने देखा कि मैं फूल-बॉक्स टिप्पणियों का उपयोग नहीं कर रहा था। ओह, मैंने कहा, मैंने एक स्रोत-कोड फ़ॉर्मेटर लिखा है जो मेरी टिप्पणियों को आपकी शैली में परिवर्तित करता है जब मैं उन्हें प्रिंट करता हूं। संपादक में उन्हें बनाए रखना आसान है। उसने अपना मुंह खोला, एक पल के लिए सोचा, इसे बंद कर दिया, चला गया, और हमने फिर कभी कोडिंग मानकों के बारे में बात नहीं की। उसके बाद हमारे दोनों काम आसान हो गए।