स्क्राइब (मार्कअप लैंग्वेज)

स्क्राइब एक मार्कअप लैंग्वेज और शब्द संसाधन प्रणाली है जिसने मार्कअप लैंग्वेज के उपयोग की प्रारंभ की है। जब इसे प्रस्तावित किया गया तो स्क्राइब रेवोल्यूशनरी था, क्योंकि इसमें पहली बार प्रस्तुति और सामग्री का स्पष्ट पृथक्करण सम्मिलित था।

प्रारंभ
स्क्राइब को कार्नेगी मेलॉन यूनिवर्सिटी के ब्रायन रीड द्वारा डिजाइन और विकसित किया गया था। यह उनके 1980 के डॉक्टरेट शोध प्रबंध का विषय बनाया गया था, जिसके लिए उन्हें 1982 में एसोसिएशन फॉर कंप्यूटिंग मशीनरी का ग्रेस मरे हॉपर पुरस्कार मिला था।

रीड ने 1981 में उसी सम्मेलन सत्र में स्क्राइब का वर्णन करते हुए एक पेपर प्रस्तुत किया था जिसमें चार्ल्स गोल्डफार्ब ने जीएमएल (1969 में विकसित) प्रस्तुत किया था, जो एसजीएमएल का तत्काल पूर्ववर्ती था।

लेखक यूनीलॉजिक को बेचा गया
1979 में, अपने स्नातक-छात्र करियर के अंत में, रीड ने स्क्राइब को पिट्सबर्ग-क्षेत्र की सॉफ्टवेयर कंपनी यूनीलॉजिक (बाद में इसका नाम बदलकर स्क्राइब सिस्टम्स ) को बेच दिया गया था, जिसकी स्थापना कार्यक्रम के विपणन के लिए एक अन्य कार्नेगी मेलन कंप्यूटर वैज्ञानिक माइकल शामोस ने की थी। रीड ने कहा कि वह प्रोग्राम को डेवलपर्स पर अपलोड करने का एक विधि खोज रहे थे जो इसे सार्वजनिक डोमेन में जाने से रोक सकते है।

माइकल शमोस स्क्राइब के बौद्धिक संपदा अधिकारों को लेकर कार्नेगी मेलन प्रशासकों के साथ विवाद में उलझे हुए थे। प्रशासन के साथ विवाद को अदालत के बाहर सुलझा लिया गया था, और विश्वविद्यालय ने माना कि स्क्राइब पर उसका कोई प्रमाण नहीं है।

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

रिचर्ड स्टॉलमैन ने इसे प्रोग्रामर लोकाचार के साथ विश्वासघात के रूप में देखा। शेयर-एंड-शेयर की धारणा का समान रूप से सम्मान करने के अतिरिक्त, रीड ने कंपनियों के लिए प्रोग्रामर्स को सूचना पहुंच के लिए भुगतान करने के लिए विवश करने का एक विधि डाला था।

स्टॉलमैन की टेक्सइन्फो ब्रायन रीड की स्क्राइब और उस समय की अन्य फ़ॉर्मेटिंग लैंग्वेज ओं पर आधारित है.

स्क्राइब वर्ड प्रोसेसर का उपयोग करना
स्क्राइब का उपयोग करने में दो चरण की प्रक्रिया सम्मिलित है:
 * स्क्राइब मार्कअप के अनुरूप किसी भी टेक्स्ट एडिटर का उपयोग करके पांडुलिपि फ़ाइल टाइप करना है।
 * संबंधित डॉक्यूमेंट फ़ाइल उत्पन्न करने के लिए स्क्राइब कंपाइलर के माध्यम से इस फ़ाइल को संसाधित करना, जिसे मुद्रित किया जा सकता है।

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

डॉक्यूमेंट की सामग्री (संरचना) और उसकी शैली (प्रारूप) के बीच पृथक्करण के कारण, लेखकों को प्रारूपण के विवरण के बारे में चिंता करने की आवश्यकता नहीं थी। इसमें लेस्ली लामपोर्ट की LaTeX डॉक्यूमेंट तैयारी प्रणाली की समानताएँ हैं।

मार्कअप लैंग्वेज
मार्कअप लैंग्वेज का उपयोग करने का विचार, जिसमें डॉक्यूमेंट और उसके स्वरूपण के बारे में मेटा-जानकारी डॉक्यूमेंट के अंदर ही निहित थी, पहली बार TYPSET और RUNOFF नामक प्रोग्राम में व्यापक उपयोग देखा गया; जिसमे स्क्राइब में घोषणात्मक मार्कअप लैंग्वेज ़़का पहला सशक्त ़़कार्यान्वयन सम्मिलित था।

स्क्राइब में, मार्कअप को @ चिह्न के साथ प्रस्तुत किया गया था, उसके बाद या तो प्रारंभ-अंत ब्लॉक या सीधे टोकन आमंत्रण द्वारा:

@Heading(The Beginning) @Begin(Quotation) Let's start at the very beginning, a very good place to start @End(Quotation)

पैरामीटर पास करना भी संभव था:

@MakeSection(tag=beginning, title="The Beginning")

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

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

संबंधित सॉफ़्टवेयर
मार्क ऑफ़ द यूनिकॉर्न का फ़ाइनलवर्ड वर्ड प्रोसेसर, जो बोरलैंड का स्प्रिंट बन गया, में एक मार्कअप लैंग्वेज थी जो स्क्राइब के सरलीकृत वर्जन से मिलती जुलती थी। फ़ाइनलवर्ड के रूप में पैक किए जाने से पहले, संपादक और फ़ॉर्मेटर के पुराने संस्करणों को क्रमशः MINCE ("MINCE इज़ नॉट कम्प्लीट Emacs") और स्क्रिबल के रूप में अलग-अलग बेचा गया था।

LaTeX, स्क्रिबल के वर्णनात्मक मार्कअप विचारों के साथ TeX का विस्तार करता है।

यह भी देखें

 * पाठ के प्रस्तुतिकरण के लिए प्रयुक्त लैंग्वेज
 * टीएक्स
 * लाटेक्स

बाहरी संबंध

 * Reid's 1980 doctoral dissertation, "Scribe: A Document Specification Language and its Compiler". (Note:, missing the last page.)
 * Abstract of the dissertation.
 * Brian Reid's keynote at the Markup Technologies '98 conference, in PowerPoint
 * Reason why Brian Reid obtained a Hopper Medal for Scribe, at the Online Historical Encyclopaedia of Programming Languages
 * Scribe, Introductory User's Manual, Brian Reid, 1978