क्या हम ह्यूगो के 1963 संदर्भ से पहले एक वास्तविक उद्धरण प्राप्त कर सकते हैं? हाँ। जॉन मैकार्थी ने अप्रैल 1960 से प्रतीकात्मक अभिव्यक्तियों के पुनरावर्ती कार्यों और मशीन, भाग I द्वारा उनके अभिकलन शब्द का इस्तेमाल किया ।
परमाणु प्रतीकों के लिए, हम राजधानी लैटिन अक्षरों और अंकों के तार का उपयोग करेंगे ...
लेकिन इस सवाल के लिए और अधिक उपयोगी है, एक डेटाटाइप के रूप में एक स्ट्रिंग का संदर्भ:
प्रवेशित वर्णों का कोई भी तार [है] एक एल-एक्सप्रेशन।
यह एक महान उदाहरण नहीं है। "वर्णों की एक स्ट्रिंग" कहकर, मैकार्थी "स्ट्रिंग" का उपयोग नहीं कर रहे हैं विशेष अर्थ प्रोग्रामर में इसका मतलब आज है। आप जावा प्रोग्रामर को आसानी से "एक स्ट्रिंग" कह सकते हैं और उन्हें पता चल जाएगा कि "वर्ण" भाग निहित है: मैककार्थी का उपयोग इस सुविधा को प्रदर्शित नहीं करता है। आइए 1950 के दशक में वापस धकेलने की कोशिश करें, यह देखने के लिए कि क्या मैककार्थी इसे सुरक्षित खेल रहे थे या क्या वास्तव में यह शब्द मौजूद नहीं था। LISP शायद यहाँ बहुत मदद करने वाला नहीं है, क्योंकि यह एक गणितीय गणना पर आधारित है, इसलिए मैककार्थी के स्ट्रिंग फ़ंक्शंस स्ट्रिंग प्रोसेसिंग के विचार का पहला अनुप्रयोग हो सकते हैं।
1960 के दशक का एक महत्वपूर्ण स्ट्रिंग-प्रोसेसिंग सिस्टम 1964 का एसएनओबीओएल, ए स्ट्रिंग मैनिपुलेशन लैंग्वेज था । यह ऊपर मैकार्थी के पेपर का हवाला देता है, लेकिन COMIT और SCL पर भी चर्चा करता है। SCL पर वे जिस काम का हवाला देते हैं, वह अप्रकाशित है: एक दुर्भाग्यपूर्ण मृत अंत।
COMIT को ट्रैक करना आसान है। द आर्ट ऑफ़ कंप्यूटर प्रोग्रामिंग (खंड 1, तीसरा संस्करण, पृ। 461) हमें बताता है कि वीएच यंगवे ने इस पर 1963 सीएसीएम लेख लिखा था। लेकिन मैं "स्ट्रिंग" के शुरुआती उपयोग की तलाश कर रहा हूं , इसलिए मैं पहले के प्रकाशनों के लिए एक लेखक की खोज करूंगा।
पहली बार मैं जुलाई 1958 से मैकेनिकल ट्रांसलेशन के लिए एक प्रोग्रामिंग भाषा पा सकता हूं । इसमें केवल "स्ट्रिंग" शब्द का एक उपयोग है:
शब्दकोश में विराम चिह्न या रिक्त स्थान के बीच अक्षरों के प्रत्येक निरंतर स्ट्रिंग को देखा जाता है।
फिर से, यह उपयोग मैककार्थी की तरह है: यह "स्ट्रिंग" के लिए इसके वर्तमान अर्थ में उपयोग किए जाने का सबूत नहीं है। कागज को विस्तार से देखते हुए, हम देखते हैं कि डेटा संरचना एक कार्ड पर "लाइन" है (लंबे समय तक "लाइनों" के लिए जारी रखने की अनुमति है)।
ठीक है, हम COMIT के इतिहास में आगे बढ़ेंगे और देखेंगे कि हमें क्या मिल सकता है। पहला उपयोगी संदर्भ यांत्रिक अनुवाद के लिए COMIT प्रणाली है , जो जून, 1959 के सम्मेलन की कार्यवाही से है।
यदि हम CO (F) D (F) द्वारा D SIN (F) को प्रतिस्थापित करना चाहते हैं, जहां F अप्रतिबंधित है और किसी भी घटक का मनमाना अनुक्रम हो सकता है, तो हम इस स्ट्रिंग के लिए खड़े होने के लिए नोटेशन $ का उपयोग करते हैं।
यह आज जिस तरह से हम इसका उपयोग करते हैं, उससे अधिक लगता है: "स्ट्रिंग" अकेले खड़ी होती है और एक बोनस के रूप में एक पहचानने योग्य विशेष प्रतीक होता है: डॉलर के चिह्न का उपयोग अभी भी कुछ बेसक स्वादों में एक स्ट्रिंग चर को दर्शाने के लिए किया जाता है।
इस समय के बाद से, शब्द "स्ट्रिंग" एसीएम '58 कार्यवाही से पर्लिस और स्मिथ द्वारा प्रतीकों के तार को संभालने के लिए एक कमांड भाषा में भी कई बार दिखाई देता है , और एक बार शेयर 709 सिस्टम में: बोहेम द्वारा प्रतीकात्मक प्रोग्रामिंग के मशीन कार्यान्वयन स्टील।
1960 के दशक की शुरुआत में 'स्ट्रिंग' के लिए एसीएम डिजिटल लाइब्रेरी की खोज करने से 62 परिणाम मिलते हैं, जिसमें "ALGOL में स्ट्रिंग हैंडलिंग", "स्ट्रिंग मैनिपुलेशन इन द न्यू लैंग्वेज" और "अल्फ़ान्यूमेरिक जानकारी के लिए एक सूची-प्रकार भंडारण तकनीक" शामिल हैं। ऐसा लगता है कि यह विचार तब तक उलझा हुआ है।
मैं तर्क देता हूं कि इसके कंप्यूटर विज्ञान शब्दजाल में "स्ट्रिंग" 1960 के आसपास कुछ वर्षों में वर्णों की एक क्रमबद्ध सूची के रूप में आम हो गई थी। इससे पहले, Yngwe और मैककार्थी जैसे लेखक "स्ट्रिंग ऑफ कैरेक्टर्स" कह सकते थे और सुनिश्चित करें कि वे थे समझ में आता है, लेकिन "स्ट्रिंग" का उपयोग उस अर्थ में एक नंगे शब्द के रूप में नहीं कर सकता है जो आज उपयोग किया जाता है।
आशुलिपि और स्मिथ पेपर द्वारा शॉर्टहैंड को संभवतः कंप्यूटिंग मुख्यधारा में पेश किया गया था। इसका व्यापक रूप से उल्लेख नहीं किया गया है, लेकिन एक महत्वपूर्ण उद्धरण अप्रैल 1960 में जोसेफ डब्लू। स्मिथ द्वारा ALGOL के लिए Syntactic और अर्थ संवर्द्धन है (CACM के उसी अंक में, जो मैकार्थी के LISP के विवरण के रूप में है)। उस कागज से:
इस पत्र का उद्देश्य ALGOL के लिए वाक्यात्मक और अर्थ संवर्द्धन के एक सेट का प्रस्ताव करना है। प्रस्तावित एक्सटेंशन को उस भाषा में "स्ट्रिंग" हेरफेर के विवरण की सुविधा के लिए डिज़ाइन किया गया है; वे प्रतीक हेरफेर के लिए एक व्यापक भाषा का गठन नहीं करते हैं।
मेरे लिए, यह "स्ट्रिंग" का अर्थ है, जिसका अर्थ है कि प्रतीकात्मक गणना के लिए एक डेटाटैक अकादमिक लेक्सिकॉन में पुष्टि की जा रही है, और महत्वपूर्ण रूप से व्यावसायिक गणना के लिए उपयोग किए जाने वाले उपकरणों के लिए पेश किया गया है।
संयोग से, प्रोग्रामिंग लैंग्वेज: हिस्ट्री एंड फ्यूचर बाय जीन समेट (1972) बताता है कि COMIT और SNOBOL स्ट्रिंग हेरफेर के पूर्वज थे, इसलिए मुझे पूरा विश्वास है कि पहले के उदाहरण नहीं होंगे।