पॉइंटर्स का आविष्कार किसने किया?


12

बहुत आसान सवाल है, लेकिन कुछ मुझे पता नहीं चल पाया है। सूचक के विचार का वर्णन करने वाला पहला व्यक्ति कौन था? अमूर्त अवधारणा ही?


8
बिंदुओं को ध्यान में रखते हुए स्मृति के संदर्भ में, मैं मान रहा हूं कि (कुछ आकार या रूप में) कंप्यूटिंग की शुरुआत के बाद से अस्तित्व में है। आप और अधिक स्मृति को कैसे पढ़ेंगे?
रोब

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

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

जवाबों:


4

1964 में सूचक चर का आविष्कार करने के लिए बड लॉसन कोकुछ साल पहलेIEEE का कंप्यूटर पायनियर पुरस्कार मिला था।


1963 में पीएम शर्मन ने उन्हें भविष्यवाणी की। देखें उनके प्रोग्रामिंग और कोडिंग डिजिटल कंप्यूटर viii। 152: "ये इंडेक्स रजिस्टर मेमोरी में स्थानों को इंगित करता है; इसलिए इन्हें उपयोग किए जाने पर पॉइंटर्स कहा जाता है।"
गेरिमिया

15

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

पहले कंप्यूटर के रूप में कुछ तर्क होंगे जिन्होंने इसे लागू किया। जहां तक ​​मुझे पता है कि मंचरेस्टर्न यूनिवर्सिटी स्मॉल स्केल सिस्टम प्रोग्राम नियंत्रित रजिस्टरों द्वारा संबोधित भंडारण को शामिल करने वाला पहला था। हो सकता है कि यह ENIAC प्रणाली से पहले हो लेकिन इसमें इतना कम संग्रहण था कि पता योग्य भंडारण को एक म्यूट पॉइंट बनाया जा सके।


+1 मैं मान रहा हूं कि अंतर इंजन को रजिस्टरों की आवश्यकता के लिए बहुत सरल था, लेकिन क्या किसी को पता है कि क्या एनालिटिकल इंजन को उनकी आवश्यकता होगी?

@ मर्क - यह एक परिभाषा मुद्दा हो सकता है। यहां तक ​​कि एक एकल अंकगणितीय ऑपरेशन को जोड़ने के लिए भी, आपके पास दो इनपुट मूल्य और एक आउटपुट है जो मशीनरी में किसी प्रकार के प्रतिनिधित्व की आवश्यकता है। उस प्रतिनिधित्व को एक रजिस्टर कहा जा सकता है। यहां तक ​​कि एक अबेकस के पास एक रजिस्टर होने का दावा किया जा सकता है।
स्टीव 314

@ सचाई - अच्छी बात है।

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

5

संकेत अधिक मोटे तौर पर संदर्भ हैं। कुछ भी होने वाली पहली भाषा ALGOL 60 थी जिसे नाम से पुकारा जा सकता था। एसओ पर यह जवाब कुछ विस्तार में जाता है। पीएल / मेरे पास पॉइंटर्स थे जैसा कि बीसीपीएल था जिसका मतलब है कि सीपीएल ने भी शायद ऐसा किया है, हालांकि मुझे इसके लिए कोई सबूत नहीं मिला है। सीपीएल को ठोस जानकारी देना बहुत कठिन है।

अपने प्रश्न का अधिक सीधे जवाब देने के लिए "कौन" या तो डीडब्ल्यू बैरन, क्रिस्टोफर स्ट्रैची या मार्टिन रिचर्ड्स ने संभवतः "पॉइंटर" शब्द गढ़ा।


बी मत भूलना - यह संकेत था! इसके अलावा पीएल / आई, और मुझे यकीन है कि इसके पहले अन्य लोग हैं, न कि विधानसभा और ट्यूरिंग मशीनों की गिनती।
पॉबी

तो यह 1966 होगा।
वर्ल्ड इंजीनियर

ALGOL में पॉइंटर्स थे
केविन क्लाइन

4

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

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


0

एक मूल अवधारणा के रूप में पॉइंटर्स का उपयोग "इनडायरेक्ट एड्रेसिंग" में किया जाता है, जो कि अधिकांश CPU पर एक फ़ंक्शन है जो कम से कम 6502 के रूप में वापस जा रहा है।

कमोडोर ने अपने VIC 20, C64, और C128 कंप्यूटरों पर "कर्नेल" का इस्तेमाल किया। पता सॉफ़्टवेयर का एक निश्चित सेट कॉल कर सकता है जिसे तब वर्तमान कोड पर पुनर्निर्देशित किया जाएगा। वे तब मौजूदा सॉफ़्टवेयर को तोड़े बिना OS को संशोधित कर सकते थे।

मुझे लगता है कि 8080 और Z80 का अप्रत्यक्ष पता भी था, लेकिन मैं निश्चित नहीं हूं और मुझे यह 8008 में याद नहीं है।


1
दरअसल, पॉइंटर्स का उपयोग डायरेक्ट एड्रेसिंग द्वारा भी किया जाता है। जब तक आप स्व-संशोधित कोड का उपयोग नहीं कर रहे हों, तब तक वे लगातार समय-सूचक बिंदुओं का संकलन कर रहे हैं। मैं 6502 (या सख्ती से, 6510) का प्रशंसक हूं - मेरी पहली मशीन एक C64 थी - लेकिन यह चिप वास्तव में यहां प्रासंगिक नहीं है। शुरुआती उपभोक्ता माइक्रोप्रोसेसरों ने नए सिद्धांतों के रास्ते में बहुत आविष्कार नहीं किया - यह विचार दशकों से पहले से ही चला आ रहा था। यह सिर्फ इतना है कि उन विचारों को 70 के दशक तक एकल सस्ती चिप्स के रूप में लागू नहीं किया गया था, और 80 के दशक तक मुख्यधारा के उपभोक्ता खिलौने नहीं बने थे।
स्टीव 314

0

अच्छी तरह से - पहली बार एक ठोस सिंटैक्स और शब्दार्थ, जहां सूचक चर के लिए विकसित किया गया था, 1964 में PL / I प्रोग्रामिंग भाषा के लिए था।

इस पर सेमिनल पेपर 1967 में 1967 में एसीएम कम्युनिकेशंस में प्रकाशित हुआ।

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