"स्ट्रिंग" की व्युत्पत्ति


58

तो यह स्पष्ट है कि चीजों की एक स्ट्रिंग चीजों का एक क्रम है, और इसलिए पात्रों / बाइट्स / आदि का एक क्रम है। के रूप में अच्छी तरह से एक स्ट्रिंग कहा जा सकता है। लेकिन सबसे पहले उन्हें तार किसने कहा? और कब? और किस संदर्भ में ऐसा है कि यह चारों ओर अटक गया? मैंने हमेशा इस बारे में सोचा है।



1
@ माफ करो, महसूस नहीं किया था कि सम्मेलन था। समझ में आता है।
अल्ब

1
@ कोई समस्या नहीं। आपके और अन्य लोगों के संदर्भ के लिए (यह प्रश्न डुप्लिकेट होने के रूप में चिह्नित किया गया था), स्टैक ओवरफ्लो पर मौजूद एक प्रश्न इस प्रश्न की स्थिति को प्रभावित नहीं करता है, लेकिन यह नेटवर्क पर अन्य प्रश्नों पर टिप्पणी करने और नोट करने में निश्चित रूप से सहायक है यह जवाब देने में मदद कर सकता है।

1
Alb, user4051 के महान उत्तर के साथ, मैं आपकी टिप्पणी को हटाने की सलाह देता हूं, जिसमें स्टैकओवरफ्लो प्रश्न का संदर्भ दिया गया है, और इस प्रश्न के लिए एक लिंक दिया गया है।
टायलर कोलियर

1
कृपया ध्यान दें कि जब मैंने मतदान करना बंद कर दिया तो मुझे लगता है कि हमें इस प्रश्न को साइनपोस्ट के रूप में इधर-उधर रखना चाहिए। इस प्रश्न के उत्तर प्रोग्रामर पर कुछ भी इसी तरह के सवालों के जवाब की तुलना में कहीं अधिक गहन और पूर्ण हैं। एसई या स्टैक ओवरफ्लो। यह भी एक दिलचस्प सवाल है जो निष्पक्ष रूप से जवाबदेह है।

जवाबों:


47

क्या हम ह्यूगो के 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 स्ट्रिंग हेरफेर के पूर्वज थे, इसलिए मुझे पूरा विश्वास है कि पहले के उदाहरण नहीं होंगे।


2
वाह। महान पुरातत्व वहां।
स्कैलव

4
थिस मुझे उस प्रक्रिया की याद दिलाता है जो "कारों की ट्रेन" में बदल गई थी, जहां ट्रेन को शादी की पोशाक की ट्रेन की तरह इस्तेमाल किया गया था, परिवहन के रूप में सिर्फ "ट्रेन" में। "स्ट्रिंग ऑफ कैरेक्टर्स" से सिर्फ "स्ट्रिंग" में परिवर्तन की कुंजी है
केट ग्रेगोरी

2
OED ने यह काम पहले ही कर लिया है। स्ट्रिंग के लिए प्रविष्टि (पेवॉल, लेकिन यूके के पुस्तकालय सदस्यों को शायद उपयोग करने में सक्षम है) में "1954 जूनियर" है। Assoc। कम्प्यूटिंग मशीनरी 1 120/2 एक परिमित, संभवतः अशक्त, वर्णमाला के सदस्यों के अनुक्रम को एक स्ट्रिंग कहा जाता है। " जो मुझे बिल्कुल आधुनिक उपयोग लगता है।
आकाशवाणी

1
उस संदर्भ के लिए @AakashM धन्यवाद, उनका 1954 का परिणाम 1950 के दशक में मुझे मिले अन्य परिणामों के अनुरूप है। "स्ट्रिंग" शब्द का उपयोग केवल "वर्णों के स्ट्रिंग" अर्थ में किया जाता है, जब उस अर्थ में इसका अर्थ समझाया जाता है । यह 1960 के आसपास तक नहीं है कि लेखक स्पष्टीकरण के बिना "स्ट्रिंग" का उपयोग कर सकते हैं, और यह एक विशिष्ट शब्द के साथ एक शब्दजाल शब्द बन गया जैसा कि प्रश्न में उपयोग किया गया है।

1
@ आकाश ने ओईडी कक्षाओं कि 1954 में मैथ के तहत ।, आदि प्रतीकों या भाषाई तत्वों का एक क्रम एक निश्चित क्रम में , 1 9 32 के प्रतीकात्मक तर्क पुस्तक से पहला उदाहरण है । कम्प्यूटिंग के लिए उनकी एक अलग प्रविष्टि है रिकॉर्ड या डेटा का एक रैखिक अनुक्रम , मैंने अपने उत्तर में पहला 1956 उदाहरण जोड़ा है ।
ह्यूगो

14

एक पूर्ण उत्तर नहीं है, लेकिन 1400 के दशक के उत्तरार्ध में स्ट्रिंग का उपयोग "एक पंक्ति में व्यवस्थित कई वस्तुओं" का अर्थ पहले से ही था। स्रोत

यह अनिवार्य रूप से एक ही उपयोग है।


5

सबसे पहला संदर्भ जो मुझे कंप्यूटिंग में मिला, वह मार्च 1963 के METEOR: A LISP इंटरप्रिटर फॉर स्ट्रिंग ट्रांसफ़ॉर्मेशन बाय डैनियल जी। Bobrow द्वारा MIT's AI लैब्स में है।

ऑक्सफोर्ड इंग्लिश डिक्शनरी एक से एक पहले कंप्यूटिंग उदाहरण है 1956 के मुद्दे कम्प्यूटिंग मशीनरी के लिए एसोसिएशन के जर्नल :

जब तक पूरी तरह से क्रमबद्ध अनुक्रम प्राप्त नहीं हो जाता है, तब तक नियंत्रण क्षेत्रों के तारों को बंद करने के लिए क्षेत्रों को अलग रखा जाता है।

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