अल्गोल: Difference between revisions

From Vigyanwiki
No edit summary
No edit summary
 
(6 intermediate revisions by 3 users not shown)
Line 20: Line 20:
इस अर्थ में अधिकांश आधुनिक भाषाओं का वाक्य-विन्यास ऐल्गॉल की तरह होता है,<ref>{{cite web |url=http://www.eecs.qmul.ac.uk/~ohearn/Algol/intro.html |archive-url=https://web.archive.org/web/20111114122103/http://www.eecs.qmul.ac.uk/~ohearn/Algol/intro.html |title=अल्गोल जैसी भाषाएं, परिचय|last1=O'Hearn |first1=P. W. |last2=Tennent |first2=R. D. |date=September 1996 |archive-date=14 November 2011}}</ref> यह तीन अन्य उच्च-स्तरीय प्रोग्रामिंग भाषाओं की तुलना में यकीनन अधिक प्रभावशाली थी, जिनमें से यह लगभग समकालीन थी फोरट्रान, लिस्प और कोबोल।<ref>[http://groups.engin.umd.umich.edu/CIS/course.des/cis400/algol/algol.html "The ALGOL Programming Language"] {{webarchive|url=https://web.archive.org/web/20161006113915/http://groups.engin.umd.umich.edu/CIS/course.des/cis400/algol/algol.html |date=6 October 2016}}, University of Michigan-Dearborn</ref> इसे फोरट्रान के साथ कुछ कथित समस्याओं से बचने के लिए प्रतिरूपित किया गया था और अंततः PL/I, सिमुला, BCPL, B, पास्कल, और C. सहित कई अन्य प्रोग्रामिंग भाषाओं को जन्म दिया।
इस अर्थ में अधिकांश आधुनिक भाषाओं का वाक्य-विन्यास ऐल्गॉल की तरह होता है,<ref>{{cite web |url=http://www.eecs.qmul.ac.uk/~ohearn/Algol/intro.html |archive-url=https://web.archive.org/web/20111114122103/http://www.eecs.qmul.ac.uk/~ohearn/Algol/intro.html |title=अल्गोल जैसी भाषाएं, परिचय|last1=O'Hearn |first1=P. W. |last2=Tennent |first2=R. D. |date=September 1996 |archive-date=14 November 2011}}</ref> यह तीन अन्य उच्च-स्तरीय प्रोग्रामिंग भाषाओं की तुलना में यकीनन अधिक प्रभावशाली थी, जिनमें से यह लगभग समकालीन थी फोरट्रान, लिस्प और कोबोल।<ref>[http://groups.engin.umd.umich.edu/CIS/course.des/cis400/algol/algol.html "The ALGOL Programming Language"] {{webarchive|url=https://web.archive.org/web/20161006113915/http://groups.engin.umd.umich.edu/CIS/course.des/cis400/algol/algol.html |date=6 October 2016}}, University of Michigan-Dearborn</ref> इसे फोरट्रान के साथ कुछ कथित समस्याओं से बचने के लिए प्रतिरूपित किया गया था और अंततः PL/I, सिमुला, BCPL, B, पास्कल, और C. सहित कई अन्य प्रोग्रामिंग भाषाओं को जन्म दिया।


ऐल्गॉल ने ब्लॉक (प्रोग्रामिंग) और <code>begin</code>...<code>end</code> उनका परिसीमन करने के लिए जोड़े। यह लेक्सिकल स्कोप के साथ नेस्टेड फलन परिभाषाओं को लागू करने वाली पहली भाषा भी थी। इसके अतिरिक्त, यह पहली प्रोग्रामिंग भाषा थी, जिसने औपचारिक भाषा की परिभाषा पर विस्तृत ध्यान दिया और एल्गोल 60#इतिहास के माध्यम से भाषा डिजाइन के लिए एक प्रमुख औपचारिक व्याकरण संकेत बैकस-नौर रूप मे प्रस्तुत किया।
ऐल्गॉल ने ब्लॉक (प्रोग्रामिंग) और <code>begin</code>...<code>end</code> उनका परिसीमन करने के लिए जोड़े। यह लेक्सिकल स्कोप के साथ नेस्टेड फलन परिभाषाओं को लागू करने वाली पहली भाषा भी थी। इसके अतिरिक्त, यह पहली प्रोग्रामिंग भाषा थी, जिसने औपचारिक भाषा की परिभाषा पर विस्तृत ध्यान दिया और एल्गोल 60#इतिहास के माध्यम से भाषा डिजाइन के लिए एक प्रमुख औपचारिक व्याकरण संकेत बैकस-नौर रूप मे प्रस्तुत किया।


इसकी तीन प्रमुख विशिष्टताएँ थीं, जिनका नाम उन वर्षों के नाम पर रखा गया था, जिन्हें वे पहली बार प्रकाशित किए गए थे।  
इसकी तीन प्रमुख विशिष्टताएँ थीं, जिनका नाम उन वर्षों के नाम पर रखा गया था, जिन्हें वे पहली बार प्रकाशित किए गए थे।  
Line 49: Line 49:
}}</ref><ref>{{cite web|title=एल्गोरिद्मिक लैंग्वेज एल्गोल 60 पर संशोधित रिपोर्ट|year=1963|url=http://www.masswerk.at/algol60/report.htm|access-date=8 June 2007 |archive-url=https://web.archive.org/web/20070625171638/http://www.masswerk.at/algol60/report.htm |archive-date=25 June 2007 |url-status=live}}</ref><ref>{{cite web|title=X1 के लिए एक ALGOL 60 अनुवादक|year=1961|url=https://www.cs.utexas.edu/users/EWD/MCReps/MR35.PDF |archive-url=https://ghostarchive.org/archive/20221009/https://www.cs.utexas.edu/users/EWD/MCReps/MR35.PDF |archive-date=2022-10-09 |url-status=live|access-date=7 January 2021}}</ref>
}}</ref><ref>{{cite web|title=एल्गोरिद्मिक लैंग्वेज एल्गोल 60 पर संशोधित रिपोर्ट|year=1963|url=http://www.masswerk.at/algol60/report.htm|access-date=8 June 2007 |archive-url=https://web.archive.org/web/20070625171638/http://www.masswerk.at/algol60/report.htm |archive-date=25 June 2007 |url-status=live}}</ref><ref>{{cite web|title=X1 के लिए एक ALGOL 60 अनुवादक|year=1961|url=https://www.cs.utexas.edu/users/EWD/MCReps/MR35.PDF |archive-url=https://ghostarchive.org/archive/20221009/https://www.cs.utexas.edu/users/EWD/MCReps/MR35.PDF |archive-date=2022-10-09 |url-status=live|access-date=7 January 2021}}</ref>
* ऐल्गॉल 68 - साव्यय सरणियों, स्लाइस, समानता, ऑपरेटर पहचान सहित नए तत्वों को प्रस्तुत किया। तथा 1973 मे संशोधित किया गया था।।<ref name=a68>{{cite web|title=एल्गोरिथम भाषा ALGOL 68 पर संशोधित रिपोर्ट|year=1973|url=https://www.cs.ru.nl/~hubbers/courses/sl1/rr.pdf|access-date=13 September 2014|url-status=live|archive-url=https://web.archive.org/web/20140913132128/http://www.cs.ru.nl/~hubbers/courses/sl1/rr.pdf|archive-date=13 September 2014}}</ref>
* ऐल्गॉल 68 - साव्यय सरणियों, स्लाइस, समानता, ऑपरेटर पहचान सहित नए तत्वों को प्रस्तुत किया। तथा 1973 मे संशोधित किया गया था।।<ref name=a68>{{cite web|title=एल्गोरिथम भाषा ALGOL 68 पर संशोधित रिपोर्ट|year=1973|url=https://www.cs.ru.nl/~hubbers/courses/sl1/rr.pdf|access-date=13 September 2014|url-status=live|archive-url=https://web.archive.org/web/20140913132128/http://www.cs.ru.nl/~hubbers/courses/sl1/rr.pdf|archive-date=13 September 2014}}</ref>
ऐल्गॉल 68 ऐल्गॉल 60 से काफी अलग होता है और अच्छी तरह से प्राप्त नहीं हुआ था, इसलिए सामान्य रूप से ऐल्गॉल का अर्थ ऐल्गॉल 60 और इसकी बोलियाँ होती हैं।
ऐल्गॉल 68 ऐल्गॉल 60 से काफी अलग होता है और अच्छी तरह से प्राप्त नहीं हुआ था, इसलिए सामान्य रूप से ऐल्गॉल का अर्थ ऐल्गॉल 60 और इसकी उपभाषा होती हैं।


== इतिहास ==
== इतिहास ==
Line 57: Line 57:
ऐल्गॉल का उपयोग ज्यादातर संयुक्त राज्य अमेरिका और यूरोप में अनुसंधान कंप्यूटर वैज्ञानिकों द्वारा किया जाता था। व्यावसायिक अनुप्रयोगों में इसका उपयोग इसके विवरण में मानक इनपुट/आउटपुट सुविधाओं की अनुपस्थिति और बरोज़ निगम के अतिरिक्त बड़े कंप्यूटर विक्रेताओं द्वारा भाषा में रुचि की कमी के कारण बाधित हुआ था। ऐल्गॉल 60 हालांकि कलन विधि के प्रकाशन के लिए मानक बन गया और भविष्य के भाषा के विकास पर इसका गहरा प्रभाव पड़ा।
ऐल्गॉल का उपयोग ज्यादातर संयुक्त राज्य अमेरिका और यूरोप में अनुसंधान कंप्यूटर वैज्ञानिकों द्वारा किया जाता था। व्यावसायिक अनुप्रयोगों में इसका उपयोग इसके विवरण में मानक इनपुट/आउटपुट सुविधाओं की अनुपस्थिति और बरोज़ निगम के अतिरिक्त बड़े कंप्यूटर विक्रेताओं द्वारा भाषा में रुचि की कमी के कारण बाधित हुआ था। ऐल्गॉल 60 हालांकि कलन विधि के प्रकाशन के लिए मानक बन गया और भविष्य के भाषा के विकास पर इसका गहरा प्रभाव पड़ा।


[[File:Algol&Fortran family-by-Borkowski.svg|thumb|alt=caption|एल्गोल, फोरट्रान और कोबोल प्रोग्रामिंग लैंग्वेज डायनेस्टी का फैमिली ट्री]]जॉन बैकस ने विशेष रूप से ऐल्गॉल 58 की प्रोग्रामिंग भाषाओं का वर्णन करने के लिए बैकस नॉर्मल फॉर्म विधि विकसित किया। इसे ऐल्गॉल 60 के लिए पीटर नौर द्वारा संशोधित और विस्तारित किया गया था।, और डोनाल्ड नुथ के सुझाव पर बैकस-नौर फॉर्म का नाम परिवर्तित दिया गया था।<ref>{{cite journal |last=Knuth |first=Donald E. |year=1964 |title=बैकस नॉर्मल फॉर्म बनाम बैकस नौर फॉर्म|journal=Communications of the ACM |volume=7 |issue=12 |pages=735–736 |doi=10.1145/355588.365140|s2cid=47537431 }}</ref>
[[File:Algol&Fortran family-by-Borkowski.svg|thumb|alt=caption|एल्गोल, फोरट्रान और कोबोल प्रोग्रामिंग भाषा डायनेस्टी का फैमिली ट्री]]जॉन बैकस ने विशेष रूप से ऐल्गॉल 58 की प्रोग्रामिंग भाषाओं का वर्णन करने के लिए बैकस नॉर्मल फॉर्म विधि विकसित किया। इसे ऐल्गॉल 60 के लिए पीटर नौर द्वारा संशोधित और विस्तारित किया गया था। और डोनाल्ड नुथ के सुझाव पर बैकस-नौर फॉर्म का नाम परिवर्तित दिया गया था।<ref>{{cite journal |last=Knuth |first=Donald E. |year=1964 |title=बैकस नॉर्मल फॉर्म बनाम बैकस नौर फॉर्म|journal=Communications of the ACM |volume=7 |issue=12 |pages=735–736 |doi=10.1145/355588.365140|s2cid=47537431 }}</ref>
पीटर नौर:- एएलजीओएल बुलेटिन के संपादक के रूप में मै भाषा की अंतरराष्ट्रीय चर्चाओं में :-खीचा गया था और नवंबर 1959 में यूरोपीय भाषा प्रारुप समूह का सदस्य बनने के लिए चुना गया था। इस क्षमता में मैं एएलजीओएल 60 रिपोर्ट का संपादक था, तथा जनवरी 1960 में पेरिस में ऐल्गॉल 60 की बैठक के परिणामस्वरूप जिसे निर्मित किया गया था।<ref name="naur_acm">[http://awards.acm.org/citation.cfm?id=1024454&srt=all&aw=140&ao=AMTURING&yr=2005 ACM पुरस्कार प्रशस्ति पत्र: पीटर नौर] {{webarchive|url=https://wayback.archive-it.org/all/20120402220529/http://amturing.acm.org/award_winners/naur_1024454.cfm |date=2 April 2012}}, 2005</ref>
पीटर नौर:- एएलजीओएल बुलेटिन के संपादक के रूप में मै भाषा की अंतरराष्ट्रीय चर्चाओं में खीचा गया था और नवंबर 1959 में यूरोपीय भाषा प्रारुप समूह का सदस्य बनने के लिए चुना गया था। इस क्षमता में मैं एएलजीओएल 60 रिपोर्ट का संपादक था, तथा जनवरी 1960 में पेरिस में ऐल्गॉल 60 की बैठक के परिणामस्वरूप जिसे निर्मित किया गया था।<ref name="naur_acm">[http://awards.acm.org/citation.cfm?id=1024454&srt=all&aw=140&ao=AMTURING&yr=2005 ACM पुरस्कार प्रशस्ति पत्र: पीटर नौर] {{webarchive|url=https://wayback.archive-it.org/all/20120402220529/http://amturing.acm.org/award_winners/naur_1024454.cfm |date=2 April 2012}}, 2005</ref>


निम्नलिखित लोगों ने पेरिस में 1 से 16 जनवरी तक बैठक में भाग लिया था।  
निम्नलिखित लोगों ने पेरिस में 1 से 16 जनवरी तक बैठक में भाग लिया था।  
Line 65: Line 65:
एलन पेर्लिस ने बैठक का एक विशद वर्णन दिया। बैठकें थकाऊ, अंतहीन और उत्साहजनक थीं। जब किसी के अच्छे विचारों को दूसरों के बुरे विचारों के साथ छोड़ दिया गया तो वह उत्तेजित हो गया था। फिर भी, परिश्रम पूरी अवधि के दौरान उत्कृष्ट बना रहा था।
एलन पेर्लिस ने बैठक का एक विशद वर्णन दिया। बैठकें थकाऊ, अंतहीन और उत्साहजनक थीं। जब किसी के अच्छे विचारों को दूसरों के बुरे विचारों के साथ छोड़ दिया गया तो वह उत्तेजित हो गया था। फिर भी, परिश्रम पूरी अवधि के दौरान उत्कृष्ट बना रहा था।


ऐल्गॉल 60 ने इसके बाद आने वाली कई भाषाओं को प्रेरित किया। टोनी होरे ने टिप्पणी की, यहां एक ऐसी भाषा है जो अपने समय से बहुत आगे है कि यह न केवल अपने पूर्ववर्तियों पर बल्कि इसके लगभग सभी उत्तराधिकारियों पर भी सुधार था
ऐल्गॉल 60 ने इसके बाद आने वाली कई भाषाओं को प्रेरित किया। टोनी होरे ने टिप्पणी की, यहां एक ऐसी भाषा होती है, जो अपने समय से बहुत आगे है कि यह न केवल अपने पूर्ववर्तियों पर बल्कि इसके लगभग सभी उत्तराधिकारियों पर भी सुधार किया गया था
रेफरी>[http://www.eecs.umich.edu/~bchandra/courses/papers/Hoare_Hints.pdf प्रोग्रामिंग लैंग्वेज डिजाइन पर संकेत] {{webarchive|url=https://web.archive.org/web/20090915033339/http://www.eecs.umich.edu/~bchandra/courses/papers/Hoare_Hints.pdf |date=15 September 2009}}, गाड़ी। होरे, दिसंबर 1973. पृष्ठ 27. (इस कथन को कभी-कभी गलत तरीके से एडजर डब्ल्यू. डिजस्ट्रा के लिए जिम्मेदार ठहराया जाता है, जो पहले एल्गोल 60 कंपाइलर को लागू करने में भी सम्मिलित था।) </ रेफ> योजना प्रोग्रामिंग भाषा, लिस्प का एक संस्करण जिसने ब्लॉक को अपनाया ऐल्गॉल की संरचना और लेक्सिकल स्कोप, ऐल्गॉल को श्रद्धांजलि में इसके मानक दस्तावेजों के लिए एल्गोरिदमिक लैंग्वेज स्कीम पर संशोधित रिपोर्ट शब्दों को भी अपनाया। रेफरी नाम = r3rs >{{cite web |editor-last=Rees |editor-first=Jonathan |editor2-last=Clinger |editor2-first=William |editor3-last=Abelson |editor3-first=Hal |editor3-link=Hal Abelson |last=Dybvig |first=R. K. |title=एल्गोरिदमिक भाषा योजना पर संशोधित (3) रिपोर्ट, (ALGOL 60 की स्मृति को समर्पित)|url=http://groups.csail.mit.edu/mac/ftpdir/scheme-reports/r3rs-html/r3rs_toc.html |access-date=20 October 2009 | display-authors=etal |url-status=live |archive-url=https://web.archive.org/web/20100114060759/http://groups.csail.mit.edu/mac/ftpdir/scheme-reports/r3rs-html/r3rs_toc.html |archive-date=14 January 2010 | df=dmy-all}}</रेफरी>
<ref>[http://www.eecs.umich.edu/~bchandra/courses/papers/Hoare_Hints.pdf प्रोग्रामिंग लैंग्वेज डिजाइन पर संकेत] {{webarchive|url=https://web.archive.org/web/20090915033339/http://www.eecs.umich.edu/~bchandra/courses/papers/Hoare_Hints.pdf |date=15 September 2009}}, गाड़ी। होरे, दिसंबर 1973. पृष्ठ 27. (इस कथन को कभी-कभी गलत तरीके से एडजर डब्ल्यू. डिजस्ट्रा के लिए जिम्मेदार ठहराया जाता है, जो पहले एल्गोल 60 कंपाइलर को लागू करने में भी सम्मिलित था।) </ रेफ> योजना प्रोग्रामिंग भाषा, लिस्प का एक संस्करण जिसने ब्लॉक को स्वीकृत किया और ऐल्गॉल की संरचना, लेक्सिकल स्कोप, ऐल्गॉल को श्रद्धांजलि में इसके मानक दस्तावेजों के लिए एल्गोरिदमिक भाषा योजना पर संशोधित रिपोर्ट शब्दों को भी स्वीकृत किया। <ref name = r3rs >{{cite web |editor-last=Rees |editor-first=Jonathan |editor2-last=Clinger |editor2-first=William |editor3-last=Abelson |editor3-first=Hal |editor3-link=Hal Abelson |last=Dybvig |first=R. K. |title=एल्गोरिदमिक भाषा योजना पर संशोधित (3) रिपोर्ट, (ALGOL 60 की स्मृति को समर्पित)|url=http://groups.csail.mit.edu/mac/ftpdir/scheme-reports/r3rs-html/r3rs_toc.html |access-date=20 October 2009 | display-authors=etal |url-status=live |archive-url=https://web.archive.org/web/20100114060759/http://groups.csail.mit.edu/mac/ftpdir/scheme-reports/r3rs-html/r3rs_toc.html |archive-date=14 January 2010 | df=dmy-all}}</ref>


=== ऐल्गॉल और प्रोग्रामिंग भाषा अनुसंधान ===
=== ऐल्गॉल और प्रोग्रामिंग भाषा अनुसंधान ===
जैसा कि पीटर लैंडिन ने उल्लेख किया है, ऐल्गॉल लैम्ब्डा कैलकुलस (कॉल-बाय-नेम) के साथ मूल आदेशसूचक प्रभावों को संयोजित करने वाली पहली भाषा थी। जॉन सी रेनॉल्ड्स के कारण शायद भाषा का सबसे सुंदर सूत्रीकरण है, और यह अपनी वाक्य रचना और शब्दार्थ शुद्धता को सबसे अच्छा प्रदर्शित करता है। कॉल-बाय-वैल्यू भाषाओं जैसे एमएल द्वारा उपयोग किए जाने वाले वैश्विक प्रभावों के विपरीत, रेनॉल्ड्स के आदर्श ऐल्गॉल ने कॉल-बाय-नेम भाषाओं के संदर्भ में स्थानीय प्रभावों की उपयुक्तता के बारे में एक ठोस पद्धति संबंधी तर्क दिया। भाषा की वैचारिक अखंडता ने इसे प्रोग्रामिंग कंप्यूटेबल फ़ंक्शंस (PCF) और ML के साथ सिमेंटिक रिसर्च की मुख्य वस्तुओं में से एक बना दिया।<ref>{{cite book |last1=O'Hearn |first1=Peter |author1-link=Peter O'Hearn |last2=Tennent |first2=Robert D. |date=1997 |title=अल्गोल जैसी भाषाएँ|publisher=Birkhauser Boston |place=Cambridge, Massachusetts, United States |isbn=978-0-8176-3880-1 |doi=10.1007/978-1-4612-4118-8|s2cid=6273486 }}</ref>
जैसा कि पीटर लैंडिन ने उल्लेख किया है,कि ऐल्गॉल लैम्ब्डा कैलकुलस (कॉल-बाय-नेम) के साथ मूल आदेशसूचक प्रभावों को संयोजित करने वाली पहली भाषा थी। जॉन सी रेनॉल्ड्स के कारण लगभग भाषा का सबसे अच्छा सूत्रीकरण है, और यह अपनी वाक्य रचना और शब्दार्थ शुद्धता को सबसे अच्छा प्रदर्शित करता है। कॉल-बाय-वैल्यू भाषाओं जैसे ML द्वारा उपयोग किए जाने वाले वैश्विक प्रभावों के विपरीत, रेनॉल्ड्स के आदर्श ऐल्गॉल ने कॉल-बाय-नेम भाषाओं के संदर्भ में स्थानीय प्रभावों की उपयुक्तता के बारे में एक ठोस पद्धति संबंधी तर्क दिया। भाषा की वैचारिक अखंडता ने इसे प्रोग्रामिंग कंप्यूटेबल फलन (PCF) और ML के साथ शब्दार्थ अनुसंधान की मुख्य वस्तुओं में से एक बना दिया।<ref>{{cite book |last1=O'Hearn |first1=Peter |author1-link=Peter O'Hearn |last2=Tennent |first2=Robert D. |date=1997 |title=अल्गोल जैसी भाषाएँ|publisher=Birkhauser Boston |place=Cambridge, Massachusetts, United States |isbn=978-0-8176-3880-1 |doi=10.1007/978-1-4612-4118-8|s2cid=6273486 }}</ref>
===आईएएल कार्यान्वयन समयरेखा ===
===आईएएल कार्यान्वयन समयरेखा ===
तिथि करने के लिए ऐल्गॉल 60 के कम से कम 70 संवर्द्धन, विस्तार, व्युत्पत्ति और उपभाषाएं हुई हैं।<ref>{{cite web|url=http://hopl.murdoch.edu.au/showlanguage.prx?exp=1807 |title=कंप्यूटर भाषाओं का विश्वकोश|access-date=20 January 2012 |url-status=dead |archive-url=https://web.archive.org/web/20110927014141/http://hopl.murdoch.edu.au/showlanguage.prx?exp=1807 |archive-date=27 September 2011 |df=dmy}}</ref>
तिथि करने के लिए ऐल्गॉल 60 के कम से कम 70 संवर्द्धन, विस्तार, व्युत्पत्ति और उपभाषाएं हुई हैं।<ref>{{cite web|url=http://hopl.murdoch.edu.au/showlanguage.prx?exp=1807 |title=कंप्यूटर भाषाओं का विश्वकोश|access-date=20 January 2012 |url-status=dead |archive-url=https://web.archive.org/web/20110927014141/http://hopl.murdoch.edu.au/showlanguage.prx?exp=1807 |archive-date=27 September 2011 |df=dmy}}</ref>
Line 82: Line 82:
!|लक्ष्य सीपीयू
!|लक्ष्य सीपीयू
|-
|-
| ZMMD-कार्यान्वयन|| 1958 || [[Friedrich L. Bauer|फ्रेडरिक एल. बाउर]] , हेंज रूटीशौसर, क्लॉस सेमेलसन, हरमन बॉटनब्रुक || जर्मनी || [[ALGOL 58|ऐल्गॉल 58]] का कार्यान्वयन || [[Z22 (computer)|Z22]] <br> (later [[Konrad Zuse|Zuse]]'s [[Z23 (computer)|Z23]] was delivered with an ऐल्गॉल 60 compiler)<ref>[http://www.computerhistory.org/projects/zuse_z23/ Computer Museum History] {{webarchive|url=https://web.archive.org/web/20100820213805/http://www.computerhistory.org/projects/zuse_z23/ |date=20 August 2010}}, Historical Zuse-Computer Z23, restored by the Konrad Zuse Schule in Hünfeld, for the Computer Museum History Center in Mountain View (California) USA</ref>
| ZMMD-कार्यान्वयन|| 1958 || [[Friedrich L. Bauer|फ्रेडरिक एल. बाउर]] , हेंज रूटीशौसर, क्लॉस सेमेलसन, हरमन बॉटनब्रुक || जर्मनी || [[ALGOL 58|ऐल्गॉल 58]] का कार्यान्वयन || [[Z22 (computer)|Z22]] <br> (बाद में [[Konrad Zuse|Zuse]] के [[Z23 (computer)|Z23]] को ऐल्गॉल 60 संकलक के साथ वितरित किया गया था)<ref>[http://www.computerhistory.org/projects/zuse_z23/ Computer Museum History] {{webarchive|url=https://web.archive.org/web/20100820213805/http://www.computerhistory.org/projects/zuse_z23/ |date=20 August 2010}}, Historical Zuse-Computer Z23, restored by the Konrad Zuse Schule in Hünfeld, for the Computer Museum History Center in Mountain View (California) USA</ref>
|-
|-
|X1 ऐल्गॉल 60 || August 1960<ref>{{cite journal |url=http://www.dijkstrascry.com/node/4 |title=Dijkstra's Rallying Cry for Generalization: the Advent of the Recursive Procedure, late 1950s – early 1960s |last=Daylight |first=E. G. |journal=[[The Computer Journal]] |year=2011 |doi=10.1093/comjnl/bxr002 |volume=54 |issue=11 |pages=1756–1772 |citeseerx=10.1.1.366.3916 |url-status=live |archive-url=https://web.archive.org/web/20130312111503/http://www.dijkstrascry.com/node/4 |archive-date=12 March 2013 }}</ref> || [[Edsger W. Dijkstra]] and [[:nl:Jaap Zonneveld|Jaap A. Zonneveld]] ||नीदरलैंड
|X1 ऐल्गॉल 60 || अगस्त 1960<ref>{{cite journal |url=http://www.dijkstrascry.com/node/4 |title=Dijkstra's Rallying Cry for Generalization: the Advent of the Recursive Procedure, late 1950s – early 1960s |last=Daylight |first=E. G. |journal=[[The Computer Journal]] |year=2011 |doi=10.1093/comjnl/bxr002 |volume=54 |issue=11 |pages=1756–1772 |citeseerx=10.1.1.366.3916 |url-status=live |archive-url=https://web.archive.org/web/20130312111503/http://www.dijkstrascry.com/node/4 |archive-date=12 March 2013 }}</ref> || [[Edsger W. Dijkstra|एड्जर डब्ल्यू. दिज्क्स्ट्रा]] और [[:nl:Jaap Zonneveld|जाप ए. ज़ोनवेल्ड]]||नीदरलैंड
| First implementation of ऐल्गॉल 60<ref>{{Cite book |last1 = Kruseman Aretz |first1 = F.E.J. | chapter = The Dijkstra-Zonneveld ALGOL 60 compiler for the Electrologica X1 |title = Software Engineering | series = History of Computer Science |publisher = Centrum Wiskunde & Informatica | location = Amsterdam |date=30 June 2003 |url = http://oai.cwi.nl/oai/asset/4155/04155D.pdf |url-status=live |archive-url = https://web.archive.org/web/20160304191208/http://oai.cwi.nl/oai/asset/4155/04155D.pdf |archive-date=4 March 2016 }}</ref> || [[Electrologica X1]]
| ऐल्गॉल 60 का पहला कार्यान्वयन<ref>{{Cite book |last1 = Kruseman Aretz |first1 = F.E.J. | chapter = The Dijkstra-Zonneveld ALGOL 60 compiler for the Electrologica X1 |title = Software Engineering | series = History of Computer Science |publisher = Centrum Wiskunde & Informatica | location = Amsterdam |date=30 June 2003 |url = http://oai.cwi.nl/oai/asset/4155/04155D.pdf |url-status=live |archive-url = https://web.archive.org/web/20160304191208/http://oai.cwi.nl/oai/asset/4155/04155D.pdf |archive-date=4 March 2016 }}</ref> || [[Electrologica X1|इलेक्ट्रोलॉजिका X1]]
|-
|-
|[[Elliott ALGOL|इलियट ऐल्गॉल]]|| 1960s || [[C. A. R. Hoare]] ||ग्रेटब्रिटेन
|[[Elliott ALGOL|इलियट ऐल्गॉल]]|| 1960s || [[C. A. R. Hoare|सी ए आर होरे]] ||ग्रेटब्रिटेन
| Subject of the 1980 [[Turing Award|Turing]] lecture<ref>{{cite journal|first=Antony|last=Hoare|title=The Emperor's Old Clothes|journal=[[Communications of the ACM]]|volume=24|number=2|year=1980|pages=75–83|url=http://amturing.acm.org/award_winners/hoare_4622167.cfm|doi=10.1145/358549.358561|url-status=live|archive-url=http://archive.wikiwix.com/cache/20170913090744/http://amturing.acm.org/award_winners/hoare_4622167.cfm|archive-date=13 September 2017|doi-access=free}}</ref>|| [[Elliott 803]], Elliott 503, Elliott 4100 series
| 1980 [[Turing Award|ट्यूरिंग]] व्याख्यान का विषय<ref>{{cite journal|first=Antony|last=Hoare|title=The Emperor's Old Clothes|journal=[[Communications of the ACM]]|volume=24|number=2|year=1980|pages=75–83|url=http://amturing.acm.org/award_winners/hoare_4622167.cfm|doi=10.1145/358549.358561|url-status=live|archive-url=http://archive.wikiwix.com/cache/20170913090744/http://amturing.acm.org/award_winners/hoare_4622167.cfm|archive-date=13 September 2017|doi-access=free}}</ref>|| [[Elliott 803|इलियट 803]], इलियट 503, इलियट 4100 श्रृंखला
|-
|-
|[[JOVIAL]]|| 1960 || [[Jules Schwartz]] || अमेरीका || A [[United States Department of Defense|DOD]] [[High level language|HOL]] prior to [[Ada (programming language)|Ada]] || Various (see article)
|[[JOVIAL]]|| 1960 || [[Jules Schwartz|जूल्स श्वार्ट्ज]] || अमेरीका || [[Ada (programming language)|Ada]] से पहले एक [[United States Department of Defense|डीओडी]] [[High level language|एचओएल]]  
| विविध (लेख देखें)
|-
|-
|[[Burroughs large systems#ALGOL|बरोज़ ऐल्गॉल]] (विभिन्न प्रकार)|| 1961 || [[Burroughs Corporation]] (with participation by Hoare, [[Edsger W. Dijkstra|Dijkstra]], and others) ||अमेरीका
|[[Burroughs large systems#ALGOL|बरोज़ ऐल्गॉल]] (विभिन्न प्रकार)|| 1961 || [[Burroughs Corporation|बरोज़ कॉर्पोरेशन]] (होरे, [[Edsger W. Dijkstra|डिज्कस्ट्रा]] और अन्य लोगों की भागीदारी के साथ ||अमेरीका
| Basis of the [[Burroughs Corporation|Burroughs]] (and now [[Unisys]] [[Burroughs MCP|MCP]] based) computers || [[Burroughs large systems]] and their midrange also.
| [[Burroughs Corporation|बरोज़]] का आधार (और अब [[Unisys|यूनिसिस]] [[Burroughs MCP|MCP]] आधारित) कंप्यूटर || [[Burroughs large systems|बरोज़ लार्ज सिस्टम्स]] और उनकी मिडरेंज भी
|-
|-
|[[Case ALGOL|केस]] [[Case ALGOL|ऐल्गॉल]]|| 1961 || [[Case Western Reserve University|केस प्रौद्योगिकी संस्थान]]<ref>{{cite web|last=Koffman|first=Eliot|title=All I Really Need to KnowI Learned in CS1|url=http://www.temple.edu/cis/directory/tenure/documents/KoffmanSIGCSESlides.pdf|access-date=20 May 2012|url-status=dead|archive-url=https://web.archive.org/web/20121012032624/http://www.temple.edu/cis/directory/tenure/documents/KoffmanSIGCSESlides.pdf|archive-date=12 October 2012}}</ref> ||अमेरीका
|[[Case ALGOL|केस]] [[Case ALGOL|ऐल्गॉल]]|| 1961 || [[Case Western Reserve University|केस प्रौद्योगिकी संस्थान]]<ref>{{cite web|last=Koffman|first=Eliot|title=All I Really Need to KnowI Learned in CS1|url=http://www.temple.edu/cis/directory/tenure/documents/KoffmanSIGCSESlides.pdf|access-date=20 May 2012|url-status=dead|archive-url=https://web.archive.org/web/20121012032624/http://www.temple.edu/cis/directory/tenure/documents/KoffmanSIGCSESlides.pdf|archive-date=12 October 2012}}</ref> ||अमेरीका
| [[Simula|सिमुला]] को मूल रूप से ऐल्गॉल केस के सिमुलेशन विस्तार के रूप में अनुबंधित किया गया था।  || [[UNIVAC 1107]]
| [[Simula|सिमुला]] को मूल रूप से ऐल्गॉल केस के सिमुलेशन विस्तार के रूप में अनुबंधित किया गया था।  || [[UNIVAC 1107|यूनीवैक 1107]]
|-
|-
|[[GOGOL|गोगोल]]|| 1961 || [[William M. McKeeman]] ||अमेरीका
|[[GOGOL|गोगोल]]|| 1961 || [[William M. McKeeman|विलियम एम. मैककिमैन]] ||अमेरीका
| For ODIN time-sharing system<ref>{{cite web|url=http://hopl.info/showlanguage.prx?exp=3905|title=GOGOL – PDP-1 Algol 60 (Computer Language)|access-date=1 February 2018|publisher=Online Historical Encyclopaedia of Programming Languages|url-status=live|archive-url=https://web.archive.org/web/20180202074636/http://hopl.info/showlanguage.prx?exp=3905|archive-date=2 February 2018}}</ref> || [[PDP-1]]
| ओडीआईएन टाइम-शेयरिंग प्रणाली के लिए<ref>{{cite web|url=http://hopl.info/showlanguage.prx?exp=3905|title=GOGOL – PDP-1 Algol 60 (Computer Language)|access-date=1 February 2018|publisher=Online Historical Encyclopaedia of Programming Languages|url-status=live|archive-url=https://web.archive.org/web/20180202074636/http://hopl.info/showlanguage.prx?exp=3905|archive-date=2 February 2018}}</ref> || [[PDP-1]]
|-
|-
|[[RegneCentralen ALGOL|रेग्नेसेंट्रलेन ऐल्गॉल]]|| 1961 || [[Peter Naur]], [[Jørn Jensen]] ||डेनमार्क
|[[RegneCentralen ALGOL|रेग्नेसेंट्रलेन ऐल्गॉल]]|| 1961 || [[Peter Naur|पीटर नौर]], [[Jørn Jensen|जोर्न जेन्सेन]] ||डेनमार्क
| पूर्ण ऐल्गॉल 60 का कार्यान्वयन || रेगेंसेन्ट्रलेन में डस्क  
| पूर्ण ऐल्गॉल 60 का कार्यान्वयन || रेगेंसेन्ट्रलेन में डस्क  
|-
|-
|[[Dartmouth ALGOL 30|डार्टमाउथ ऐल्गॉल 30]]|| 1962 || [[Thomas Eugene Kurtz]] et al. ||अमेरीका
|[[Dartmouth ALGOL 30|डार्टमाउथ ऐल्गॉल 30]]|| 1962 || [[Thomas Eugene Kurtz|थॉमस यूजीन कुर्तज़]] et al. ||अमेरीका
| || [[LGP-30|एलजीपी-30]]
| || [[LGP-30|एलजीपी-30]]
|-
|-
|[[USS 90 Algol|USS 90 ऐल्गॉल]]|| 1962 || [[L. Petrone]] <!-- ? --> || इटली ||
|[[USS 90 Algol|USS 90 ऐल्गॉल]]|| 1962 || [[L. Petrone|एल पेट्रोन]]<!-- ? -->|| इटली ||
|-
|-
| ऐल्गॉल भाषान्तर || 1962 || G. van der Mey and [[Willem van der Poel|W.L. van der Poel]] ||नीदरलैंड
| ऐल्गॉल भाषान्तर || 1962 || जी वैन डेर मे और [[Willem van der Poel|डब्ल्यू.एल. वैन डेर पोएल]]||नीदरलैंड
|स्टैट्सबेड्रिजफ डेर पोस्टेरिजेन, टेलीग्राफी एन टेलीफोनी
|स्टैट्सबेड्रिजफ डेर पोस्टेरिजेन, टेलीग्राफी एन टेलीफोनी
| [[ZEBRA (computer)|ज़ेबरा]]
| [[ZEBRA (computer)|ज़ेबरा]]
Line 120: Line 121:
|-
|-
|[[Whetstone (benchmark)|वेटस्टोन]]|| 1964 || [[Brian Randell|ब्रायन रान्डेल]] और एल जे रसेल ||ग्रेटब्रिटेन
|[[Whetstone (benchmark)|वेटस्टोन]]|| 1964 || [[Brian Randell|ब्रायन रान्डेल]] और एल जे रसेल ||ग्रेटब्रिटेन
| अंग्रेजी इलेक्ट्रिक कंपनी का परमाणु ऊर्जा प्रभाग. Precursor to [[Ferranti Pegasus]], National Physical Laboratories [[Automatic Computing Engine|ACE]] and [[English Electric DEUCE]] implementations. || English Electric Company [[English Electric KDF9|KDF9]]
| अंग्रेजी इलेक्ट्रिक कंपनी का परमाणु ऊर्जा प्रभाग. [[Ferranti Pegasus|फेरेंटी पेगासस]] के पूर्ववर्ती, राष्ट्रीय भौतिक प्रयोगशालाएँ [[Automatic Computing Engine|ACE]] और [[English Electric DEUCE|अंग्रेज़ी इलेक्ट्रिक DEUCE]] कार्यान्वयन || अंग्रेजी इलेक्ट्रिक कंपनी [[English Electric KDF9|KDF9]]
|-
|-
|[[NU ALGOL|एनयू ऐल्गॉल]]|| 1965 || ||नॉर्वे
|[[NU ALGOL|एनयू ऐल्गॉल]]|| 1965 || ||नॉर्वे
| || [[UNIVAC]]
| || [[UNIVAC|यूनीवैक]]
|-
|-
|अल्गेक || 1965 || || [[Soviet Union|सोवियत संघ]] || किफायती कार्यों के लिए एल्गॉल-60 और [[COBOL|कोबोल]] समर्थन पर आधारित एजेक || [[Minsk family of computers|मिन्स्क-22]]
|अल्गेक || 1965 || || [[Soviet Union|सोवियत संघ]] || किफायती कार्यों के लिए एल्गॉल-60 और [[COBOL|कोबोल]] समर्थन पर आधारित एजेक || [[Minsk family of computers|मिन्स्क-22]]
Line 135: Line 136:
|[[ALGAMS|एल्गाम्स]]|| 1967 ||जीएएमएस समूह (जीएएमएस, ऑटोमैटिसेज ग्रुप प्रोग्राम, कमकॉन अकादमियों ऑफ साइंस का सहयोग)
|[[ALGAMS|एल्गाम्स]]|| 1967 ||जीएएमएस समूह (जीएएमएस, ऑटोमैटिसेज ग्रुप प्रोग्राम, कमकॉन अकादमियों ऑफ साइंस का सहयोग)
|कॉमकॉन
|कॉमकॉन
| || [[Minsk family of computers|Minsk-22]], later [[ES EVM]], [[BESM]]
| || [[Minsk family of computers|मिन्स्क-22]], later [[ES EVM]], [[BESM]]
|-
|-
|[[ALGOL/ZAM|ऐल्गॉल/]][[ZAM (computer)|ZAM]]|| 1967 || ||पोलैंड
|[[ALGOL/ZAM|ऐल्गॉल/]][[ZAM (computer)|ZAM]]|| 1967 || ||पोलैंड
Line 155: Line 156:
| [[Java virtual machine|Java VM]] पर बाद के कार्यान्वयन के साथ [[PDP-11]]
| [[Java virtual machine|Java VM]] पर बाद के कार्यान्वयन के साथ [[PDP-11]]
|}
|}
बरोज़ बोलियों में ESPOL और NEWP जैसी विशेष बूटस्ट्रैपिंग बोलियाँ सम्मिलित थीं। बाद वाला अभी भी यूनिसिस एमसीपी सिस्टम सॉफ्टवेयर के लिए उपयोग किया जाता है।
बरोज़ उपभाषा में ESPOL और NEWP जैसी विशेष बूटस्ट्रैपिंग उपभाषा भी सम्मिलित थीं। तथा बाद वाली अभी भी यूनिसिस एमसीपी सिस्टम सॉफ्टवेयर के लिए उपयोग किया जाती है।
 
 
 
 
 
 
 
 
 
 
 


== गुण ==
== गुण ==
आधिकारिक तौर पर परिभाषित ऐल्गॉल 60 में कोई I/O सुविधा नहीं थी। कार्यान्वयन ने स्वयं को ऐसे तरीकों से परिभाषित किया जो शायद ही कभी एक दूसरे के साथ संगत थे। इसके विपरीत, ऐल्गॉल 68 ने ट्रांसपुट (इनपुट/आउटपुट) सुविधाओं की एक विस्तृत लाइब्रेरी की पेशकश की।
आधिकारिक रूप से परिभाषित ऐल्गॉल 60 में कोई इनपुट/आउटपुट सुविधा नहीं होती थी। कार्यान्वयन ने स्वयं को ऐसे तरीकों से परिभाषित किया, जो शायद ही कभी एक दूसरे के साथ संगत थे। इसके विपरीत, ऐल्गॉल 68 ने ट्रांसपुट (इनपुट/आउटपुट) सुविधाओं की एक विस्तृत लाइब्रेरी मे प्रस्तुत किया था।


ऐल्गॉल 60 ने पैरामीटर पासिंग के लिए दो मूल्यांकन योजनयों की अनुमति दी: सामान्य कॉल-बाय-वैल्यू और कॉल-बाय-नेम। कॉल-बाय-रेफरेंस के विपरीत कॉल-बाय-नेम के कुछ प्रभाव हैं। उदाहरण के लिए, पैरामीटर को मान या संदर्भ के रूप में निर्दिष्ट किए बिना, ऐसी प्रक्रिया विकसित करना असंभव है जो दो पैरामीटर के मानों को स्वैप कर देगी यदि वास्तविक पैरामीटर जो एक पूर्णांक चर और एक सरणी है जो उसी पूर्णांक चर द्वारा अनुक्रमित है<ref>{{cite book |last1=Aho |first1=Alfred V. |author-link=Alfred V. Aho |last2=Sethi |first2=Ravi |author2-link=Ravi Sethi |last3=Ullman |first3=Jeffrey D. |author3-link=Jeffrey Ullman |title=[[ड्रैगन बुक (कंप्यूटर विज्ञान)|Compilers: Principles, Techniques, and Tools]] |year=1986 |edition=1st |publisher=Addison-Wesley |isbn=0-201-10194-7}}, Section 7.5, and references therein</ref> फलन में स्वैप (i, A [i]) पर पॉइंटर पास करने के बारे में सोचें। अब जब हर बार स्वैप का संदर्भ दिया जाता है, तो इसका पुनर्मूल्यांकन किया जाता है। कहो मैं: = 1 और [i]: = 2, इसलिए हर बार स्वैप का संदर्भ दिया जाता है, यह मूल्यों के अन्य संयोजन को लौटाएगा ([1,2], [2,1], [1,2] और इसी तरह ). इसी तरह की स्थिति वास्तविक तर्क के रूप में पारित एक यादृच्छिक कार्य के साथ होती है।
ऐल्गॉल 60 ने पैरामीटर पासिंग के लिए दो मूल्यांकन योजनयों की अनुमति दी: सामान्य कॉल-बाय-वैल्यू और कॉल-बाय-नेम। कॉल-बाय-रेफरेंस के विपरीत कॉल-बाय-नेम के कुछ प्रभाव होता हैं। उदाहरण के लिए पैरामीटर को मान या संदर्भ के रूप में निर्दिष्ट किए बिना, ऐसी प्रक्रिया विकसित करना असंभव होता है, जो दो पैरामीटर के मानों को स्वैप कर देगी। यदि वास्तविक पैरामीटर एक पूर्णांक चर और एक सरणी है जो उसी पूर्णांक चर द्वारा अनुक्रमित होता है<ref>{{cite book |last1=Aho |first1=Alfred V. |author-link=Alfred V. Aho |last2=Sethi |first2=Ravi |author2-link=Ravi Sethi |last3=Ullman |first3=Jeffrey D. |author3-link=Jeffrey Ullman |title=[[ड्रैगन बुक (कंप्यूटर विज्ञान)|Compilers: Principles, Techniques, and Tools]] |year=1986 |edition=1st |publisher=Addison-Wesley |isbn=0-201-10194-7}}, Section 7.5, and references therein</ref> फलन में स्वैप (i, A [i]) पर पॉइंटर पास करने के बारे में सोचें। जब हर बार स्वैप का संदर्भ दिया जाता है, तो इसका पुनर्मूल्यांकन किया जाता है। उदाहरण मै i = 1 और A [i]: = 2, इसलिए प्रत्येक बार स्वैप का संदर्भ दिया जाता है, यह मानों के अन्य संयोजन को वापस ([1,2], [2,1], [1,2] और इसी तरह की स्थिति वास्तविक तर्क के रूप में पारित एक यादृच्छिक कार्य के साथ होती है।


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


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


== उदाहरण और पोर्टेबिलिटी मुद्दे ==
== उदाहरण और पोर्टेबिलिटी परिणाम ==


=== कोड नमूना तुलना ===
=== कोड प्रतिरूप तुलना ===


====ऐल्गॉल 60====
====ऐल्गॉल 60====
Line 186: Line 198:
           '''end'''
           '''end'''
  '''end''' Absmax
  '''end''' Absmax
इलियट 803 ऐल्गॉल का उपयोग करके टेबल बनाने का एक उदाहरण यहां दिया गया है।<ref>[http://www.billp.org/ccs/A104/ "803 ALGOL"] {{webarchive|url=https://web.archive.org/web/20100529063048/http://www.billp.org/ccs/A104/ |date=29 May 2010}}, the manual for Elliott 803 ALGOL</ref>  
इलियट 803 ऐल्गॉल का उपयोग करके सारणी बनाने का एक उदाहरण यहां दिया गया है।<ref>[http://www.billp.org/ccs/A104/ "803 ALGOL"] {{webarchive|url=https://web.archive.org/web/20100529063048/http://www.billp.org/ccs/A104/ |date=29 May 2010}}, the manual for Elliott 803 ALGOL</ref>  


फ़्लोटिंग पॉइंट एल्गोल परीक्षण
फ़्लोटिंग पॉइंट एल्गोल परीक्षण
Line 204: Line 216:


====ऐल्गॉल 68====
====ऐल्गॉल 68====
निम्नलिखित कोड नमूने उपरोक्त ऐल्गॉल 60 कोड नमूने के ऐल्गॉल 68 संस्करण हैं।
निम्नलिखित कोड नमूने उपरोक्त ऐल्गॉल 60 कोड प्रतिरूप का ऐल्गॉल 68 संस्करण होता हैं।


ऐल्गॉल 68 कार्यान्वयन ने स्ट्रॉपिंग के लिए ऐल्गॉल 60 के दृष्टिकोण का उपयोग किया। ऐल्गॉल 68 के स्थितिमें बोल्ड टाइपफेस वाले टोकन आरक्षित शब्द, प्रकार (मोड) या ऑपरेटर हैं।
ऐल्गॉल 68 कार्यान्वयन ने स्ट्रॉपिंग के लिए ऐल्गॉल 60 के दृष्टिकोण का उपयोग किया। ऐल्गॉल 68 के स्थिति में बोल्ड टाइपफेस वाले टोकन आरक्षित शब्द, प्रकार (मोड) या ऑपरेटर हैं।
  '''proc''' abs max = ([,]'''real''' a, '''ref''' '''real''' y, '''ref''' '''int''' i, k)'''real''':
  '''proc''' abs max = ([,]'''real''' a, '''ref''' '''real''' y, '''ref''' '''int''' i, k)'''real''':
  '''comment''' The absolute greatest element of the matrix a, of size ⌈a by 2⌈a
  '''comment''' The absolute greatest element of the matrix a, of size ⌈a by 2⌈a
Line 222: Line 234:
   y
   y
  '''end''' # abs max #
  '''end''' # abs max #
नोट: किसी सरणी की निचली (⌊) और ऊपरी (⌈) सीमाएं, और सरणी स्लाइसिंग, सीधे प्रोग्रामर के लिए उपलब्ध हैं।
नोट: किसी सरणी की निचली (⌊) और ऊपरी (⌈) सीमाएं, और सरणी स्लाइसिंग, सीधे प्रोग्रामर के लिए उपलब्ध होती हैं।
  floating point ऐल्गॉल68 test:
  floating point ऐल्गॉल68 test:
  (
  (
Line 240: Line 252:
  )
  )


=== समयरेखा: हैलो वर्ल्ड ===
=== घटनाक्रम: हैलो वर्ल्ड ===
एक कार्यान्वयन से दूसरे कार्यान्वयन में कार्यक्रमों की विविधता और पोर्टेबिलिटी की कमी को क्लासिक हैलो वर्ल्ड प्रोग्राम द्वारा सरलता से प्रदर्शित किया जाता है।
एक कार्यान्वयन से दूसरे कार्यान्वयन में कार्यक्रमों की विविधता और पोर्टेबिलिटी की कमी को क्लासिक हैलो वर्ल्ड प्रोग्राम द्वारा सरलता से प्रदर्शित किया जाता है।


====ऐल्गॉल 58 (आईएएल)====
====ऐल्गॉल 58 (आईएएल)====
{{main|ऐल्गॉल 58}}
{{main|ऐल्गॉल 58}}
ऐल्गॉल 58 में कोई I/O सुविधा नहीं थी।
ऐल्गॉल 58 में कोई I/O सुविधा नहीं होती थी।


==== अल जूल 60 वर्ग ====
==== अल जूल 60 वर्ग ====
{{main|ऐल्गॉल 60}}
{{main|ऐल्गॉल 60}}


चूंकि ऐल्गॉल 60 में कोई I/O सुविधा नहीं थी, इसलिए ऐल्गॉल में कोई पोर्टेबल हैलो वर्ल्ड प्रोग्राम नहीं है। अगले तीन उदाहरण बरोज़ एक्सटेंडेड ऐल्गॉल में हैं। परस्पर संवादात्मक टर्मिनल पर पहले दो प्रत्यक्ष आउटपुट वे चलते हैं। पहला सी के समान एक वर्ण सरणी का उपयोग करता है। भाषा सरणी पहचानकर्ता को सरणी के सूचक के रूप में उपयोग करने की अनुमति देती है, और इसलिए एक REPLACE कथन में।
चूंकि ऐल्गॉल 60 में कोई I/O सुविधा नहीं होती थी, इसलिए ऐल्गॉल में कोई पोर्टेबल हैलो वर्ल्ड प्रोग्राम नहीं है। अगले तीन उदाहरण बरोज़ एक्सटेंडेड ऐल्गॉल में हैं। परस्पर संवादात्मक टर्मिनल पर पहले दो प्रत्यक्ष आउटपुट वे चलते हैं। पहला C के समान एक वर्ण सरणी का उपयोग करता है। तथा भाषा सरणी पहचानकर्ता को सरणी के सूचक के रूप में उपयोग करने की अनुमति देती है, और इसलिए एक REPLACE कथन में।
{{sxhl|2=m2|1=<nowiki/>
{{sxhl|2=m2|1=<nowiki/>
  BEGIN
  BEGIN
Line 266: Line 278:
  END.
  END.
}}
}}
डिस्प्ले स्टेटमेंट का उपयोग करने वाला एक और भी सरल प्रोग्राम। ध्यान दें कि इसका आउटपुट सिस्टम कंसोल ('एसपीओ') पर समाप्त होगा:
डिस्प्ले स्टेटमेंट का उपयोग करने वाला एक और भी सरल प्रोग्राम। ध्यान दें कि इसका आउटपुट सिस्टम कंसोल (एसपीओ) पर समाप्त होगा।


{{sxhl|2=m2|1= BEGIN DISPLAY("HELLO WORLD!") END.}}
{{sxhl|2=m2|1= BEGIN DISPLAY("HELLO WORLD!") END.}}
इलियट एल्गोल I/O का उपयोग करने वाला एक वैकल्पिक उदाहरण इस प्रकार है। इलियट ऐल्गॉल ने ओपन-स्ट्रिंग-कोट और क्लोज-स्ट्रिंग-कोट के लिए अलग-अलग वर्णों का उपयोग किया, जिसे यहां दर्शाया गया है {{color box|rgba(255,255,255,0)|border=silver|[[‘]]}} तथा {{color box|rgba(255,255,255,0)|border=silver|[[Single quotation mark|’]]}}.
इलियट एल्गोल I/O का उपयोग करने वाला एक वैकल्पिक उदाहरण इस प्रकार है। इलियट ऐल्गॉल ने ओपन-स्ट्रिंग-कोट और क्लोज-स्ट्रिंग-कोट के लिए अलग-अलग वर्णों का उपयोग किया गया है। जिसे यहां {{color box|rgba(255,255,255,0)|border=silver|[[‘]]}} तथा {{color box|rgba(255,255,255,0)|border=silver|[[Single quotation mark|’]]}} के रूप मे दर्शाया गया है
{{sxhl|2=pascal|1=<nowiki/>
{{sxhl|2=pascal|1=<nowiki/>
  program HiFolks;
  program HiFolks;
Line 276: Line 288:
  end;
  end;
}}
}}
नीचे इलियट 803 एल्गोल (ए104) से एक संस्करण है। मानक इलियट 803 में पांच-छेद वाले पेपर टेप का उपयोग किया गया था और इस प्रकार केवल ऊपरी मामला था। कोड में किसी भी उद्धरण वर्ण का अभाव था इसलिए £ (यूके पाउंड साइन) का उपयोग खुले उद्धरण के लिए किया गया था और ? (प्रश्न चिह्न) करीबी उद्धरण के लिए। विशेष दृश्यों को दोहरे उद्धरण चिह्नों में रखा गया था (उदाहरण के लिए ££L?? ने टेलीप्रिंटर पर एक नई पंक्ति बनाई)।  
नीचे इलियट 803 एल्गोल (ए104) से एक संस्करण है। मानक इलियट 803 में पांच-छेद वाले पेपर टेप का उपयोग किया गया था और इस प्रकार केवल ऊपरी स्थिति थी। कोड में किसी भी उद्धरण वर्ण का अभाव था। इसलिए £ (यूके पाउंड साइन) का उपयोग खुले उद्धरण के लिए किया गया था और ? (प्रश्न चिह्न) नजदीकी उद्धरण के लिए विशेष दृश्यों को दोहरे उद्धरण चिह्नों में रखा गया था (उदाहरण के लिए ££L?? ने टेलीप्रिंटर पर एक नई पंक्ति बनाई)।  
  HIFOLKS'
  HIFOLKS'


Line 282: Line 294:
     PRINT £HELLO WORLD£L??'
     PRINT £HELLO WORLD£L??'
   END'
   END'
ICT 1900 श्रृंखला ऐल्गॉल I/O संस्करण ने पेपर टेप या पंच कार्ड से इनपुट की अनुमति दी। पेपर टेप 'फुल' मोड में लोअर केस की अनुमति है। आउटपुट एक लाइन प्रिंटर के लिए था। ओपन और क्लोज कोट कैरेक्टर्स को '(' और ')' और स्पेस को % द्वारा दर्शाया गया था। [24]<ref>{{cite web|url=http://www.icl1900.co.uk/techpub/tp3340.djvu|title=ICL 1900 श्रृंखला: एल्गोरिथम भाषा|publisher=ICL Technical Publication 3340|year=1965}}</ref>
ICT 1900 श्रृंखला ऐल्गॉल I/O संस्करण ने पेपर टेप या पंच कार्ड से इनपुट की अनुमति दी। पेपर टेप 'फुल' मोड में लोअर केस की अनुमति होती है। आउटपुट एक लाइन प्रिंटर के लिए था। ओपन और क्लोज कोट कैरेक्टर्स को '(' और ')' और स्पेस को % द्वारा दर्शाया गया था।<ref>{{cite web|url=http://www.icl1900.co.uk/techpub/tp3340.djvu|title=ICL 1900 श्रृंखला: एल्गोरिथम भाषा|publisher=ICL Technical Publication 3340|year=1965}}</ref>
   'BEGIN'
   'BEGIN'
     WRITE TEXT('('HELLO%WORLD')');
     WRITE TEXT('('HELLO%WORLD')');
Line 290: Line 302:
{{main|ऐल्गॉल 68}}
{{main|ऐल्गॉल 68}}


ऐल्गॉल 68 कोड सामान्य रूप से लोअरकेस में आरक्षित शब्दों के साथ प्रकाशित किया गया था, लेकिन बोल्ड या रेखांकित किया गया।
ऐल्गॉल 68 कोड सामान्य रूप से लोअरकेस में आरक्षित शब्दों के साथ प्रकाशित किया गया था, लेकिन बोल्ड या रेखांकित किया गया था।
  '''begin'''
  '''begin'''
   printf(($gl$, Hello, world! ))
   printf(($gl$, Hello, world! ))
Line 298: Line 310:
=== ऐल्गॉल विशेष वर्णों की समयरेखा ===
=== ऐल्गॉल विशेष वर्णों की समयरेखा ===
{{Contains special characters
{{Contains special characters
| alt        = Decimal Exponent Symbol
| alt        = दशमलव घातांक प्रतीक
| link      = http://mailcom.com/unicode/DecimalExponent.ttf
| link      = http://mailcom.com/unicode/DecimalExponent.ttf
| special    = Unicode 6.0 "[https://www.unicode.org/charts/PDF/U2300.pdf Miscellaneous Technical]" characters
| special    = Unicode 6.0 "[https://www.unicode.org/charts/PDF/U2300.pdf Miscellaneous Technical]" characters
Line 304: Line 316:
| characters = something like "₁₀" ([http://mailcom.com/unicode/DecimalExponent.ttf Decimal Exponent Symbol U+23E8 TTF])
| characters = something like "₁₀" ([http://mailcom.com/unicode/DecimalExponent.ttf Decimal Exponent Symbol U+23E8 TTF])
}}
}}
ऐल्गॉल की कल्पना ऐसे समय में की गई थी जब चरित्र सेट विविध थे और तेजी से विकसित हो रहे थे; इसके अतिरिक्त, ऐल्गॉल-एस को परिभाषित किया गया था ताकि केवल अपरकेस अक्षरों की आवश्यकता हो।
ऐल्गॉल की कल्पना ऐसे समय में की गई थी जब चरित्र सेट विविध और तेजी से विकसित हो रहे थे। इसके अतिरिक्त, ऐल्गॉल-एस को परिभाषित किया गया था ताकि केवल अपरकेस अक्षरों की आवश्यकता हो सके।


1960: IFIP - ऐल्गॉल 60 भाषा और रिपोर्ट में कई गणितीय प्रतीक सम्मिलित थे जो आधुनिक कंप्यूटर और ऑपरेटिंग सिस्टम पर उपलब्ध हैं, लेकिन दुर्भाग्य से, उस समय अधिकांश कंप्यूटिंग सिस्टम पर असमर्थित थे। उदाहरण के लिए: ×, ÷, ≤, ≥, ≠, ¬, ∨, ∧, ⊂, ≡, ␣ और ⏨।
1960: IFIP - ऐल्गॉल 60 भाषा और रिपोर्ट में कई गणितीय प्रतीक सम्मिलित थे, जो आधुनिक कंप्यूटर और ऑपरेटिंग सिस्टम पर उपलब्ध हैं, लेकिन दुर्भाग्य से उस समय अधिकांश कंप्यूटिंग सिस्टम पर असमर्थित थे। उदाहरण के लिए: ×, ÷, ≤, ≥, ≠, ¬, ∨, ∧, ⊂, ≡, ␣ और ⏨।


1961 सितंबर: ASCII - ASCII वर्ण सेट, तब विकास के प्रारंभिक चरण में, ऐल्गॉल के बूलियन ऑपरेटरों /\ और \/ का समर्थन करने के लिए इसमें \ (बैक स्लैश) वर्ण जोड़ा गया था।<ref>[http://www.bobbemer.com/BACSLASH.HTM How ASCII Got Its Backslash] {{webarchive|url=https://web.archive.org/web/20140711225835/http://bobbemer.com/BACSLASH.HTM |date=11 July 2014}}, Bob Bemer</ref>
1961 सितंबर: ASCII - ASCII वर्ण समुच्चय, तब विकास के प्रारंभिक चरण में, ऐल्गॉल के बूलियन ऑपरेटरों /\ और \/ का समर्थन करने के लिए इसमें \ (बैक स्लैश) वर्ण जोड़ा गया था।<ref>[http://www.bobbemer.com/BACSLASH.HTM How ASCII Got Its Backslash] {{webarchive|url=https://web.archive.org/web/20140711225835/http://bobbemer.com/BACSLASH.HTM |date=11 July 2014}}, Bob Bemer</ref>


1962: एल्कोर - इस कैरेक्टर सेट में असामान्य ᛭ सम्मिलित था<!-- U+16ED --> रूनिक क्रॉस<ref>[https://www.fileformat.info/info/unicode/char/16ed/ iron/runic cross]</ref> गुणन के लिए वर्ण और ⏨ दशमलव घातांक चिह्न<ref>[http://mailcom.com/unicode/DecimalExponent.ttf Decimal Exponent Symbol]</ref> फ़्लोटिंग पॉइंट नोटेशन के लिए।<ref>{{cite journal |last=Baumann |first=R. |title=एल्कोर ग्रुप का एल्गोल मैनुअल, भाग 1|journal=Elektronische Rechenanlagen |date=October 1961 |pages=206–212 |language=de|trans-title=ALGOL Manual of the ALCOR Group}}</ref><ref>{{cite journal |last=Baumann |first=R. |title=एल्कोर ग्रुप का एल्गोल मैनुअल, भाग 2|journal=Elektronische Rechenanlagen |volume=6 |date=December 1961 |pages=259–265 |language=de|trans-title=ALGOL Manual of the ALCOR Group}}</ref><ref>{{cite journal |last=Baumann |first=R. |title=एल्कोर ग्रुप का एल्गोल मैनुअल, भाग 3|journal=Elektronische Rechenanlagen |volume=2 |date=April 1962 |language=de|trans-title=ALGOL Manual of the ALCOR Group}}</ref>
1962: एल्कोर - इस कैरेक्टर सेट में असामान्य ᛭ सम्मिलित था<!-- U+16ED --> रूनिक क्रॉस<ref>[https://www.fileformat.info/info/unicode/char/16ed/ iron/runic cross]</ref> गुणन के लिए वर्ण और ⏨ दशमलव घातांक चिह्न<ref>[http://mailcom.com/unicode/DecimalExponent.ttf Decimal Exponent Symbol]</ref> फ़्लोटिंग पॉइंट नोटेशन के लिए।<ref>{{cite journal |last=Baumann |first=R. |title=एल्कोर ग्रुप का एल्गोल मैनुअल, भाग 1|journal=Elektronische Rechenanlagen |date=October 1961 |pages=206–212 |language=de|trans-title=ALGOL Manual of the ALCOR Group}}</ref><ref>{{cite journal |last=Baumann |first=R. |title=एल्कोर ग्रुप का एल्गोल मैनुअल, भाग 2|journal=Elektronische Rechenanlagen |volume=6 |date=December 1961 |pages=259–265 |language=de|trans-title=ALGOL Manual of the ALCOR Group}}</ref><ref>{{cite journal |last=Baumann |first=R. |title=एल्कोर ग्रुप का एल्गोल मैनुअल, भाग 3|journal=Elektronische Rechenanlagen |volume=2 |date=April 1962 |language=de|trans-title=ALGOL Manual of the ALCOR Group}}</ref>
Line 314: Line 326:
1964: GOST - 1964 के सोवियत मानक GOST 10859 ने ऐल्गॉल में 4-बिट, 5-बिट, 6-बिट और 7-बिट वर्णों की एन्कोडिंग की अनुमति दी।<ref>{{cite web|title=GOST 10859 मानक|url=http://homepages.cwi.nl/~dik/english/codes/stand.html#gost10859 |access-date=5 June 2007 |archive-url=https://web.archive.org/web/20070616201227/http://homepages.cwi.nl/~dik/english/codes/stand.html |archive-date=16 June 2007 |url-status=dead}}</ref>
1964: GOST - 1964 के सोवियत मानक GOST 10859 ने ऐल्गॉल में 4-बिट, 5-बिट, 6-बिट और 7-बिट वर्णों की एन्कोडिंग की अनुमति दी।<ref>{{cite web|title=GOST 10859 मानक|url=http://homepages.cwi.nl/~dik/english/codes/stand.html#gost10859 |access-date=5 June 2007 |archive-url=https://web.archive.org/web/20070616201227/http://homepages.cwi.nl/~dik/english/codes/stand.html |archive-date=16 June 2007 |url-status=dead}}</ref>


1968: ऐल्गॉल 68 रिपोर्ट - मौजूदा ऐल्गॉल वर्णों का उपयोग किया गया, और आगे अपनाया गया →, ↓, ↑, □, ⌊, ⌈, ⎩, ⎧, ○, ⊥, और ¢ वर्ण जो IBM 2741 कीबोर्ड पर पाए जा सकते हैं टाइपबॉल (या गोल्फ बॉल) प्रिंट हेड डाले गए (जैसे एपीएल गोल्फ बॉल)। ये 1960 के दशक के मध्य में उपलब्ध हुए जब ऐल्गॉल 68 का मसौदा तैयार किया जा रहा था। रिपोर्ट का रूसी, जर्मन, फ्रेंच और बल्गेरियाई में अनुवाद किया गया था, और बड़े वर्ण सेट वाली भाषाओं में प्रोग्रामिंग की अनुमति दी गई थी, उदाहरण के लिए, सोवियत BESM-4 के सिरिलिक वर्णमाला। ऐल्गॉल के सभी अक्षर भी यूनिकोड मानक का हिस्सा हैं और उनमें से अधिकांश कई लोकप्रिय फोंट में उपलब्ध हैं।
1968: ऐल्गॉल 68 रिपोर्ट - उपस्थित ऐल्गॉल वर्णों का उपयोग किया गया, और आगे स्वीकृत किया गया →, ↓, ↑, □, ⌊, ⌈, ⎩, ⎧, ○, ⊥, और ¢ वर्ण जो IBM 2741 कीबोर्ड पर पाए जा सकते हैं टाइपबॉल या गोल्फ बॉल प्रिंट हेड डाले गए (जैसे एपीएल गोल्फ बॉल)। ये 1960 के दशक के मध्य में उपलब्ध हुए जब ऐल्गॉल 68 का मसौदा तैयार किया जा रहा था। रिपोर्ट का रूसी, जर्मन, फ्रेंच और बल्गेरियाई में अनुवाद किया गया था, और बड़े वर्ण सेट वाली भाषाओं में प्रोग्रामिंग की अनुमति दी गई थी, उदाहरण के लिए, सोवियत BESM-4 के सिरिलिक वर्णमाला। ऐल्गॉल के सभी अक्षर भी यूनिकोड मानक का हिस्सा हैं और उनमें से अधिकांश कई लोकप्रिय फोंट में उपलब्ध होते हैं।


2009 अक्टूबर: यूनिकोड - फ़्लोटिंग पॉइंट नोटेशन के लिए <code>⏨</code> (दशमलव प्रतिपादक प्रतीक) को यूनिकोड 5.2 में ऐतिहासिक बुरान कार्यक्रम ऐल्गॉल सॉफ़्टवेयर के साथ पिछड़े संगतता के लिए जोड़ा गया था।<ref>{{cite web
2009 अक्टूबर: यूनिकोड - फ़्लोटिंग पॉइंट नोटेशन के लिए <code>⏨</code> (दशमलव प्रतिपादक प्रतीक) को यूनिकोड 5.2 में ऐतिहासिक बुरान कार्यक्रम ऐल्गॉल सॉफ़्टवेयर के साथ पिछड़े संगतता के लिए जोड़ा गया था।<ref>{{cite web
Line 371: Line 383:
{{Authority control}}
{{Authority control}}


{{DEFAULTSORT:Algol}}[[Category: अल्गोल 60 बोली]]
{{DEFAULTSORT:Algol}}
[[Category: एल्गोल प्रोग्रामिंग भाषा परिवार| ]]
[[Category: ALGOL 60 कोड उदाहरण के साथ लेख]]
[[Category: 1958 में कंप्यूटर से संबंधित परिचय]]
[[Category:प्रक्रियात्मक प्रोग्रामिंग भाषाएं]]
[[Category: 1958 में बनाई गई प्रोग्रामिंग भाषा]]
[[Category: संरचित प्रोग्रामिंग भाषाएं]]
[[Category: सिस्टम प्रोग्रामिंग भाषाएं]]
 


[[Category: Machine Translated Page]]
[[Category:1958 में कंप्यूटर से संबंधित परिचय|Algol]]
[[Category:Created On 01/12/2022]]
[[Category:1958 में बनाई गई प्रोग्रामिंग भाषा|Algol]]
[[Category:ALGOL 60 कोड उदाहरण के साथ लेख|Algol]]
[[Category:All articles with dead external links|Algol]]
[[Category:Articles with dead external links from March 2021|Algol]]
[[Category:Articles with hatnote templates targeting a nonexistent page|Algol]]
[[Category:Articles with invalid date parameter in template|Algol]]
[[Category:Articles with permanently dead external links|Algol]]
[[Category:Articles with short description|Algol]]
[[Category:CS1 Deutsch-language sources (de)|Algol]]
[[Category:CS1 français-language sources (fr)]]
[[Category:CS1 maint]]
[[Category:CS1 Ελληνικά-language sources (el)]]
[[Category:Citation Style 1 templates|W]]
[[Category:Collapse templates|Algol]]
[[Category:Created On 01/12/2022|Algol]]
[[Category:EngvarB from June 2022|Algol]]
[[Category:Lua-based templates|Algol]]
[[Category:Machine Translated Page|Algol]]
[[Category:Multi-column templates|Algol]]
[[Category:Navigational boxes| ]]
[[Category:Navigational boxes without horizontal lists|Algol]]
[[Category:Pages using div col with small parameter|Algol]]
[[Category:Pages with reference errors]]
[[Category:Pages with script errors|Algol]]
[[Category:Short description with empty Wikidata description|Algol]]
[[Category:Sidebars with styles needing conversion|Algol]]
[[Category:Template documentation pages|Documentation/doc]]
[[Category:Templates Vigyan Ready|Algol]]
[[Category:Templates based on the Citation/CS1 Lua module]]
[[Category:Templates generating COinS|Cite web]]
[[Category:Templates generating microformats|Algol]]
[[Category:Templates that add a tracking category|Algol]]
[[Category:Templates that are not mobile friendly|Algol]]
[[Category:Templates used by AutoWikiBrowser|Cite web]]
[[Category:Templates using TemplateData|Algol]]
[[Category:Templates using under-protected Lua modules|Algol]]
[[Category:Use dmy dates from February 2020|Algol]]
[[Category:Webarchive template other archives]]
[[Category:Webarchive template wayback links]]
[[Category:Wikipedia fully protected templates|Div col]]
[[Category:Wikipedia metatemplates|Algol]]
[[Category:अल्गोल 60 बोली|Algol]]
[[Category:एल्गोल प्रोग्रामिंग भाषा परिवार| ]]
[[Category:प्रक्रियात्मक प्रोग्रामिंग भाषाएं|Algol]]
[[Category:संरचित प्रोग्रामिंग भाषाएं|Algol]]
[[Category:सिस्टम प्रोग्रामिंग भाषाएं|Algol]]

Latest revision as of 09:15, 22 December 2022

ऐल्गॉल
1965 ALGOL-20 A Language Manual, Fierst et al - cover.jpg
ऐल्गॉल-20 के लिए 1965 का स्वतः
Paradigm कार्यविधि, आदेशसूचक, संरचित भाषा
परिवारऐल्गॉल
द्वारा डिज़ाइन किया गयाबाउअर, बॉटनब्रुक, रूटीशौसर, सैमुएलसन, बैकस, काट्ज़, पर्लिस, वेगस्टीन, नौर, वाउक्विस, वैन विजनगार्डन, वुडगर, ग्रीन, मैक कार्थी
पहली प्रस्तुति1958; 66 years ago (1958)
टाइपिंग अनुशासनस्थैतिक, जटिल
स्कोपलेक्सिकल
Influenced
सबसे बाद की आदेशसूचक भाषाएँ (अर्थात, ऐल्गॉल जैसी भाषाएं सम्मिलित हैं)
उदाहरण PL/I, सिमुला, पास्कल, सी और योजना

ऐल्गॉल (/ˈælɡɒl, -ɡɔːl/; एल्गोरिदमिक भाषा के लिए संक्षिप्त)[1] आदेशसूचक प्रोग्रामिंग, कंप्यूटर प्रोग्रामिंग भाषाओं की एक श्रेणी होती है, जिसे मूल रूप से 1958 में विकसित किया गया था। ऐल्गॉल ने कई अन्य भाषाओं को बहुत अधिक प्रभावित किया और कंप्यूटिंग तंत्र संस्था (ACM) द्वारा पाठ्यपुस्तकों और शैक्षणिक स्रोतों में तीस से अधिक वर्षों के लिए उपयोग की जाने वाली कलनविधि विवरण के लिए मानक विधि थी।[2]

इस अर्थ में अधिकांश आधुनिक भाषाओं का वाक्य-विन्यास ऐल्गॉल की तरह होता है,[3] यह तीन अन्य उच्च-स्तरीय प्रोग्रामिंग भाषाओं की तुलना में यकीनन अधिक प्रभावशाली थी, जिनमें से यह लगभग समकालीन थी फोरट्रान, लिस्प और कोबोल।[4] इसे फोरट्रान के साथ कुछ कथित समस्याओं से बचने के लिए प्रतिरूपित किया गया था और अंततः PL/I, सिमुला, BCPL, B, पास्कल, और C. सहित कई अन्य प्रोग्रामिंग भाषाओं को जन्म दिया।

ऐल्गॉल ने ब्लॉक (प्रोग्रामिंग) और begin...end उनका परिसीमन करने के लिए जोड़े। यह लेक्सिकल स्कोप के साथ नेस्टेड फलन परिभाषाओं को लागू करने वाली पहली भाषा भी थी। इसके अतिरिक्त, यह पहली प्रोग्रामिंग भाषा थी, जिसने औपचारिक भाषा की परिभाषा पर विस्तृत ध्यान दिया और एल्गोल 60#इतिहास के माध्यम से भाषा डिजाइन के लिए एक प्रमुख औपचारिक व्याकरण संकेत बैकस-नौर रूप मे प्रस्तुत किया।

इसकी तीन प्रमुख विशिष्टताएँ थीं, जिनका नाम उन वर्षों के नाम पर रखा गया था, जिन्हें वे पहली बार प्रकाशित किए गए थे।

  • ऐल्गॉल 58 - अंतर्राष्ट्रीय बीजगणितीय भाषा के लिए मूल रूप से IAL कहलाने का प्रस्ताव होता था।
  • ऐल्गॉल 60 - पहली बार 1961 में X1 ऐल्गॉल 60 के रूप में लागू किया गया। तथा 1963 मे संशोधित किया गया था।[5][6][7]
  • ऐल्गॉल 68 - साव्यय सरणियों, स्लाइस, समानता, ऑपरेटर पहचान सहित नए तत्वों को प्रस्तुत किया। तथा 1973 मे संशोधित किया गया था।।[8]

ऐल्गॉल 68 ऐल्गॉल 60 से काफी अलग होता है और अच्छी तरह से प्राप्त नहीं हुआ था, इसलिए सामान्य रूप से ऐल्गॉल का अर्थ ऐल्गॉल 60 और इसकी उपभाषा होती हैं।

इतिहास

1958 में ज्यूरिख में स्विस फेडरल प्रौद्योगिकी संस्थान (cf. ऐल्गॉल 58) में एक बैठक में यूरोपीय और अमेरिकी कंप्यूटर वैज्ञानिकों की एक समिति द्वारा ऐल्गॉल को संयुक्त रूप से विकसित किया गया था। इसने तीन अलग-अलग वाक्य-विन्यास(सिंटैक्स) निर्दिष्ट किए। एक संदर्भ सिंटैक्स, प्रकाशन सिंटैक्स और कार्यान्वयन सिंटैक्स। अलग-अलग सिंटैक्स ने इसे अलग-अलग भाषाओं के लिए दशमलव बिंदुओं (अल्पविराम बनाम अवधि) के लिए अलग-अलग कीवर्ड नामों और सम्मेलनों का उपयोग करने की अनुमति प्रदान की।

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

caption
एल्गोल, फोरट्रान और कोबोल प्रोग्रामिंग भाषा डायनेस्टी का फैमिली ट्री

जॉन बैकस ने विशेष रूप से ऐल्गॉल 58 की प्रोग्रामिंग भाषाओं का वर्णन करने के लिए बैकस नॉर्मल फॉर्म विधि विकसित किया। इसे ऐल्गॉल 60 के लिए पीटर नौर द्वारा संशोधित और विस्तारित किया गया था। और डोनाल्ड नुथ के सुझाव पर बैकस-नौर फॉर्म का नाम परिवर्तित दिया गया था।[9]

पीटर नौर:- एएलजीओएल बुलेटिन के संपादक के रूप में मै भाषा की अंतरराष्ट्रीय चर्चाओं में खीचा गया था और नवंबर 1959 में यूरोपीय भाषा प्रारुप समूह का सदस्य बनने के लिए चुना गया था। इस क्षमता में मैं एएलजीओएल 60 रिपोर्ट का संपादक था, तथा जनवरी 1960 में पेरिस में ऐल्गॉल 60 की बैठक के परिणामस्वरूप जिसे निर्मित किया गया था।[10]

निम्नलिखित लोगों ने पेरिस में 1 से 16 जनवरी तक बैठक में भाग लिया था।

  • फ्रेडरिक एल. बाउर, पीटर नौर, हेंज रटिशौसर, क्लॉस सेमेलसन, बर्नार्ड वाउक्विस, एड्रियान वैन विजनगार्डन, और माइकल वुडगर (यूरोप से)
  • जॉन बैकस.जॉन डब्ल्यू.बैकस, जूलियन ग्रीन (कंप्यूटर वैज्ञानिक), चार्ल्स काट्ज, जॉन मैक्कार्थी (कंप्यूटर वैज्ञानिक), एलन पर्लिस. एलन जे. पर्लिस, और जोसेफ हेनरी वेगस्टीन (यूएसए से)।

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

ऐल्गॉल 60 ने इसके बाद आने वाली कई भाषाओं को प्रेरित किया। टोनी होरे ने टिप्पणी की, यहां एक ऐसी भाषा होती है, जो अपने समय से बहुत आगे है कि यह न केवल अपने पूर्ववर्तियों पर बल्कि इसके लगभग सभी उत्तराधिकारियों पर भी सुधार किया गया था Cite error: Closing </ref> missing for <ref> tag

ऐल्गॉल और प्रोग्रामिंग भाषा अनुसंधान

जैसा कि पीटर लैंडिन ने उल्लेख किया है,कि ऐल्गॉल लैम्ब्डा कैलकुलस (कॉल-बाय-नेम) के साथ मूल आदेशसूचक प्रभावों को संयोजित करने वाली पहली भाषा थी। जॉन सी रेनॉल्ड्स के कारण लगभग भाषा का सबसे अच्छा सूत्रीकरण है, और यह अपनी वाक्य रचना और शब्दार्थ शुद्धता को सबसे अच्छा प्रदर्शित करता है। कॉल-बाय-वैल्यू भाषाओं जैसे ML द्वारा उपयोग किए जाने वाले वैश्विक प्रभावों के विपरीत, रेनॉल्ड्स के आदर्श ऐल्गॉल ने कॉल-बाय-नेम भाषाओं के संदर्भ में स्थानीय प्रभावों की उपयुक्तता के बारे में एक ठोस पद्धति संबंधी तर्क दिया। भाषा की वैचारिक अखंडता ने इसे प्रोग्रामिंग कंप्यूटेबल फलन (PCF) और ML के साथ शब्दार्थ अनुसंधान की मुख्य वस्तुओं में से एक बना दिया।[11]

आईएएल कार्यान्वयन समयरेखा

तिथि करने के लिए ऐल्गॉल 60 के कम से कम 70 संवर्द्धन, विस्तार, व्युत्पत्ति और उपभाषाएं हुई हैं।[12]

नाम वर्ष लेखक देश विवरण लक्ष्य सीपीयू
ZMMD-कार्यान्वयन 1958 फ्रेडरिक एल. बाउर , हेंज रूटीशौसर, क्लॉस सेमेलसन, हरमन बॉटनब्रुक जर्मनी ऐल्गॉल 58 का कार्यान्वयन Z22
(बाद में Zuse के Z23 को ऐल्गॉल 60 संकलक के साथ वितरित किया गया था)[13]
X1 ऐल्गॉल 60 अगस्त 1960[14] एड्जर डब्ल्यू. दिज्क्स्ट्रा और जाप ए. ज़ोनवेल्ड नीदरलैंड ऐल्गॉल 60 का पहला कार्यान्वयन[15] इलेक्ट्रोलॉजिका X1
इलियट ऐल्गॉल 1960s सी ए आर होरे ग्रेटब्रिटेन 1980 ट्यूरिंग व्याख्यान का विषय[16] इलियट 803, इलियट 503, इलियट 4100 श्रृंखला
JOVIAL 1960 जूल्स श्वार्ट्ज अमेरीका Ada से पहले एक डीओडी एचओएल विविध (लेख देखें)
बरोज़ ऐल्गॉल (विभिन्न प्रकार) 1961 बरोज़ कॉर्पोरेशन (होरे, डिज्कस्ट्रा और अन्य लोगों की भागीदारी के साथ अमेरीका बरोज़ का आधार (और अब यूनिसिस MCP आधारित) कंप्यूटर बरोज़ लार्ज सिस्टम्स और उनकी मिडरेंज भी
केस ऐल्गॉल 1961 केस प्रौद्योगिकी संस्थान[17] अमेरीका सिमुला को मूल रूप से ऐल्गॉल केस के सिमुलेशन विस्तार के रूप में अनुबंधित किया गया था। यूनीवैक 1107
गोगोल 1961 विलियम एम. मैककिमैन अमेरीका ओडीआईएन टाइम-शेयरिंग प्रणाली के लिए[18] PDP-1
रेग्नेसेंट्रलेन ऐल्गॉल 1961 पीटर नौर, जोर्न जेन्सेन डेनमार्क पूर्ण ऐल्गॉल 60 का कार्यान्वयन रेगेंसेन्ट्रलेन में डस्क
डार्टमाउथ ऐल्गॉल 30 1962 थॉमस यूजीन कुर्तज़ et al. अमेरीका एलजीपी-30
USS 90 ऐल्गॉल 1962 एल पेट्रोन इटली
ऐल्गॉल भाषान्तर 1962 जी वैन डेर मे और डब्ल्यू.एल. वैन डेर पोएल नीदरलैंड स्टैट्सबेड्रिजफ डेर पोस्टेरिजेन, टेलीग्राफी एन टेलीफोनी ज़ेबरा
किड्सग्रोव ऐल्गॉल 1963 एफ जी डंकन ग्रेटब्रिटेन अंग्रेजी इलेक्ट्रिक कंपनी KDF9
वी ऐल्गॉल 1963 वैल शोरे अमेरीका A test of the META II compiler compiler
वेटस्टोन 1964 ब्रायन रान्डेल और एल जे रसेल ग्रेटब्रिटेन अंग्रेजी इलेक्ट्रिक कंपनी का परमाणु ऊर्जा प्रभाग. फेरेंटी पेगासस के पूर्ववर्ती, राष्ट्रीय भौतिक प्रयोगशालाएँ ACE और अंग्रेज़ी इलेक्ट्रिक DEUCE कार्यान्वयन अंग्रेजी इलेक्ट्रिक कंपनी KDF9
एनयू ऐल्गॉल 1965 नॉर्वे यूनीवैक
अल्गेक 1965 सोवियत संघ किफायती कार्यों के लिए एल्गॉल-60 और कोबोल समर्थन पर आधारित एजेक मिन्स्क-22
ऐल्गॉल W 1966 निकलॉस विर्थ अमेरीका ऐल्गॉल 60 के लिए प्रस्तावित उत्तराधिकारी IBM प्रणाली/360
M ऐल्गॉल 1966 पब्लिकेशंस ए.विल, एम कोटली और एम. राखेंडी, एस्टोनिया, सोवियत संघ मिन्स्क-22
एल्गाम्स 1967 जीएएमएस समूह (जीएएमएस, ऑटोमैटिसेज ग्रुप प्रोग्राम, कमकॉन अकादमियों ऑफ साइंस का सहयोग) कॉमकॉन मिन्स्क-22, later ES EVM, BESM
ऐल्गॉल/ZAM 1967 पोलैंड पोलिश ZAM कंप्यूटर
सिमुला 67 1967 ओले-जोहान डाहल और क्रिस्टन न्यागार्ड नॉर्वे ऐल्गॉल 60 कक्षाओं के साथ यूनीवैक 1107
ट्रिपलएक्स-ऐल्गॉल कार्लज़ूए 1967/1968 कार्लज़ूए, जर्मनी ऐल्गॉल 60 (1963) इंटरवल अंकगणित के लिए ट्रिपलेक्स संख्या के साथ [19]
चीन का ऐल्गॉल 1972 चीन प्रतीक प्रणाली के माध्यम से व्यक्त चीनी वर्ण
DG/L 1972 अमेरीका कंप्यूटर के डीजी एक्लिप्स वर्ग
S-ऐल्गॉल 1979 रॉन मॉरिसन ग्रेटब्रिटेन शिक्षण भाषा के रूप में इच्छित उपयोग के साथ ऑर्थोगोनल डेटाटाइप्स का जोड़ Java VM पर बाद के कार्यान्वयन के साथ PDP-11

बरोज़ उपभाषा में ESPOL और NEWP जैसी विशेष बूटस्ट्रैपिंग उपभाषा भी सम्मिलित थीं। तथा बाद वाली अभी भी यूनिसिस एमसीपी सिस्टम सॉफ्टवेयर के लिए उपयोग किया जाती है।







गुण

आधिकारिक रूप से परिभाषित ऐल्गॉल 60 में कोई इनपुट/आउटपुट सुविधा नहीं होती थी। कार्यान्वयन ने स्वयं को ऐसे तरीकों से परिभाषित किया, जो शायद ही कभी एक दूसरे के साथ संगत थे। इसके विपरीत, ऐल्गॉल 68 ने ट्रांसपुट (इनपुट/आउटपुट) सुविधाओं की एक विस्तृत लाइब्रेरी मे प्रस्तुत किया था।

ऐल्गॉल 60 ने पैरामीटर पासिंग के लिए दो मूल्यांकन योजनयों की अनुमति दी: सामान्य कॉल-बाय-वैल्यू और कॉल-बाय-नेम। कॉल-बाय-रेफरेंस के विपरीत कॉल-बाय-नेम के कुछ प्रभाव होता हैं। उदाहरण के लिए पैरामीटर को मान या संदर्भ के रूप में निर्दिष्ट किए बिना, ऐसी प्रक्रिया विकसित करना असंभव होता है, जो दो पैरामीटर के मानों को स्वैप कर देगी। यदि वास्तविक पैरामीटर एक पूर्णांक चर और एक सरणी है जो उसी पूर्णांक चर द्वारा अनुक्रमित होता है[20] फलन में स्वैप (i, A [i]) पर पॉइंटर पास करने के बारे में सोचें। जब हर बार स्वैप का संदर्भ दिया जाता है, तो इसका पुनर्मूल्यांकन किया जाता है। उदाहरण मै i = 1 और A [i]: = 2, इसलिए प्रत्येक बार स्वैप का संदर्भ दिया जाता है, यह मानों के अन्य संयोजन को वापस ([1,2], [2,1], [1,2] और इसी तरह की स्थिति वास्तविक तर्क के रूप में पारित एक यादृच्छिक कार्य के साथ होती है।

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

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

उदाहरण और पोर्टेबिलिटी परिणाम

कोड प्रतिरूप तुलना

ऐल्गॉल 60

जिस तरह से बोल्ड टेक्स्ट को लिखा जाना है, वह कार्यान्वयन पर निर्भर करता है, उदाहरण के लिए 'INTEGER'—उद्धरण चिह्न सम्मिलित होते हैं तथा पूर्णांक के लिए इसे स्ट्रॉपिंग के रूप में जाना जाता है।

procedure Absmax(a) Size:(n, m) Result:(y) Subscripts:(i, k);
  value n, m; array a; integer n, m, i, k; real y;
comment The absolute greatest element of the matrix a, of size n by m
  is transferred to y, and the subscripts of this element to i and k;
begin
  integer p, q;
   y := 0; i := k := 1;
   for p := 1 step 1 until n do
     for q := 1 step 1 until m do
       if abs(a[p, q]) > y then
         begin y := abs(a[p, q]);
           i := p; k := q
         end
end Absmax

इलियट 803 ऐल्गॉल का उपयोग करके सारणी बनाने का एक उदाहरण यहां दिया गया है।[21]

फ़्लोटिंग पॉइंट एल्गोल परीक्षण

 BEGIN REAL A,B,C,D'
 
 READ D'
 
 FOR A:= 0.0 STEP D UNTIL 6.3 DO
  BEGIN
   PRINT PUNCH(3),££L??'
   B := SIN(A)'
   C := COS(A)'
   PRINT PUNCH(3),SAMELINE,ALIGNED(1,6),A,B,C'
  END'
 END'

PUNCH(3) टेप पंच के अतिरिक्त टेलीप्रिंटर को आउटपुट भेजता है।
SAMELINE सामान्य रूप से तर्कों के बीच मुद्रित कैरिज return + लाइन फीड को दबा देता है।
ALIGNED(1,6) दशमलव बिंदु के पहले 1 अंक और 6 के साथ आउटपुट के प्रारूप को नियंत्रित करता है।

ऐल्गॉल 68

निम्नलिखित कोड नमूने उपरोक्त ऐल्गॉल 60 कोड प्रतिरूप का ऐल्गॉल 68 संस्करण होता हैं।

ऐल्गॉल 68 कार्यान्वयन ने स्ट्रॉपिंग के लिए ऐल्गॉल 60 के दृष्टिकोण का उपयोग किया। ऐल्गॉल 68 के स्थिति में बोल्ड टाइपफेस वाले टोकन आरक्षित शब्द, प्रकार (मोड) या ऑपरेटर हैं।

proc abs max = ([,]real a, ref real y, ref int i, k)real:
comment The absolute greatest element of the matrix a, of size ⌈a by 2⌈a
is transferred to y, and the subscripts of this element to i and k; comment
begin
  real y := 0; i := ⌊a; k := 2⌊a;
  for p from ⌊a to ⌈a do
   for q from 2⌊a to 2⌈a do
    if abs a[p, q] > y then
      y := abs a[p, q];
      i := p; k := q
    fi
   od
  od;
  y
end # abs max #

नोट: किसी सरणी की निचली (⌊) और ऊपरी (⌈) सीमाएं, और सरणी स्लाइसिंग, सीधे प्रोग्रामर के लिए उपलब्ध होती हैं।

floating point ऐल्गॉल68 test:
(
 real a,b,c,d;
  
 # printf – sends output to the file stand out. #
 # printf($p$); – selects a new page #
 printf(($pg$, Enter d: )); 
 read(d);
  
 for step from 0 while a:=step*d; a <= 2*pi do
  printf($l$); # $l$ - selects a new line. #
  b := sin(a);
  c := cos(a);
  printf(($z-d.6d$,a,b,c)) # formats output with 1 digit before and 6 after the decimal point. #
 od
)

घटनाक्रम: हैलो वर्ल्ड

एक कार्यान्वयन से दूसरे कार्यान्वयन में कार्यक्रमों की विविधता और पोर्टेबिलिटी की कमी को क्लासिक हैलो वर्ल्ड प्रोग्राम द्वारा सरलता से प्रदर्शित किया जाता है।

ऐल्गॉल 58 (आईएएल)

ऐल्गॉल 58 में कोई I/O सुविधा नहीं होती थी।

अल जूल 60 वर्ग

चूंकि ऐल्गॉल 60 में कोई I/O सुविधा नहीं होती थी, इसलिए ऐल्गॉल में कोई पोर्टेबल हैलो वर्ल्ड प्रोग्राम नहीं है। अगले तीन उदाहरण बरोज़ एक्सटेंडेड ऐल्गॉल में हैं। परस्पर संवादात्मक टर्मिनल पर पहले दो प्रत्यक्ष आउटपुट वे चलते हैं। पहला C के समान एक वर्ण सरणी का उपयोग करता है। तथा भाषा सरणी पहचानकर्ता को सरणी के सूचक के रूप में उपयोग करने की अनुमति देती है, और इसलिए एक REPLACE कथन में।

 BEGIN
   FILE F(KIND=REMOTE);
   EBCDIC ARRAY E[0:11];
   REPLACE E BY "HELLO WORLD!";
   WRITE(F, *, E);
 END.

एक इनलाइन प्रारूप का उपयोग कर एक सरल प्रोग्राम:

 BEGIN
   FILE F(KIND=REMOTE);
   WRITE(F, <"HELLO WORLD!">);
 END.

डिस्प्ले स्टेटमेंट का उपयोग करने वाला एक और भी सरल प्रोग्राम। ध्यान दें कि इसका आउटपुट सिस्टम कंसोल (एसपीओ) पर समाप्त होगा।

BEGIN DISPLAY("HELLO WORLD!") END.

इलियट एल्गोल I/O का उपयोग करने वाला एक वैकल्पिक उदाहरण इस प्रकार है। इलियट ऐल्गॉल ने ओपन-स्ट्रिंग-कोट और क्लोज-स्ट्रिंग-कोट के लिए अलग-अलग वर्णों का उपयोग किया गया है। जिसे यहां    तथा    के रूप मे दर्शाया गया है

 program HiFolks;
 begin
    print Hello world
 end;

नीचे इलियट 803 एल्गोल (ए104) से एक संस्करण है। मानक इलियट 803 में पांच-छेद वाले पेपर टेप का उपयोग किया गया था और इस प्रकार केवल ऊपरी स्थिति थी। कोड में किसी भी उद्धरण वर्ण का अभाव था। इसलिए £ (यूके पाउंड साइन) का उपयोग खुले उद्धरण के लिए किया गया था और ? (प्रश्न चिह्न) नजदीकी उद्धरण के लिए विशेष दृश्यों को दोहरे उद्धरण चिह्नों में रखा गया था (उदाहरण के लिए ££L?? ने टेलीप्रिंटर पर एक नई पंक्ति बनाई)।

HIFOLKS'
 BEGIN
   PRINT £HELLO WORLD£L??'
 END'

ICT 1900 श्रृंखला ऐल्गॉल I/O संस्करण ने पेपर टेप या पंच कार्ड से इनपुट की अनुमति दी। पेपर टेप 'फुल' मोड में लोअर केस की अनुमति होती है। आउटपुट एक लाइन प्रिंटर के लिए था। ओपन और क्लोज कोट कैरेक्टर्स को '(' और ')' और स्पेस को % द्वारा दर्शाया गया था।[22]

 'BEGIN'
   WRITE TEXT('('HELLO%WORLD')');
 'END'

ऐल्गॉल 68

ऐल्गॉल 68 कोड सामान्य रूप से लोअरकेस में आरक्षित शब्दों के साथ प्रकाशित किया गया था, लेकिन बोल्ड या रेखांकित किया गया था।

begin
 printf(($gl$, Hello, world! ))
end

ऐल्गॉल 68 रिपोर्ट की भाषा में इनपुट/आउटपुट सुविधाओं को सामूहिक रूप से ट्रांसपुट कहा जाता था।

ऐल्गॉल विशेष वर्णों की समयरेखा

ऐल्गॉल की कल्पना ऐसे समय में की गई थी जब चरित्र सेट विविध और तेजी से विकसित हो रहे थे। इसके अतिरिक्त, ऐल्गॉल-एस को परिभाषित किया गया था ताकि केवल अपरकेस अक्षरों की आवश्यकता हो सके।

1960: IFIP - ऐल्गॉल 60 भाषा और रिपोर्ट में कई गणितीय प्रतीक सम्मिलित थे, जो आधुनिक कंप्यूटर और ऑपरेटिंग सिस्टम पर उपलब्ध हैं, लेकिन दुर्भाग्य से उस समय अधिकांश कंप्यूटिंग सिस्टम पर असमर्थित थे। उदाहरण के लिए: ×, ÷, ≤, ≥, ≠, ¬, ∨, ∧, ⊂, ≡, ␣ और ⏨।

1961 सितंबर: ASCII - ASCII वर्ण समुच्चय, तब विकास के प्रारंभिक चरण में, ऐल्गॉल के बूलियन ऑपरेटरों /\ और \/ का समर्थन करने के लिए इसमें \ (बैक स्लैश) वर्ण जोड़ा गया था।[23]

1962: एल्कोर - इस कैरेक्टर सेट में असामान्य ᛭ सम्मिलित था रूनिक क्रॉस[24] गुणन के लिए वर्ण और ⏨ दशमलव घातांक चिह्न[25] फ़्लोटिंग पॉइंट नोटेशन के लिए।[26][27][28]

1964: GOST - 1964 के सोवियत मानक GOST 10859 ने ऐल्गॉल में 4-बिट, 5-बिट, 6-बिट और 7-बिट वर्णों की एन्कोडिंग की अनुमति दी।[29]

1968: ऐल्गॉल 68 रिपोर्ट - उपस्थित ऐल्गॉल वर्णों का उपयोग किया गया, और आगे स्वीकृत किया गया →, ↓, ↑, □, ⌊, ⌈, ⎩, ⎧, ○, ⊥, और ¢ वर्ण जो IBM 2741 कीबोर्ड पर पाए जा सकते हैं टाइपबॉल या गोल्फ बॉल प्रिंट हेड डाले गए (जैसे एपीएल गोल्फ बॉल)। ये 1960 के दशक के मध्य में उपलब्ध हुए जब ऐल्गॉल 68 का मसौदा तैयार किया जा रहा था। रिपोर्ट का रूसी, जर्मन, फ्रेंच और बल्गेरियाई में अनुवाद किया गया था, और बड़े वर्ण सेट वाली भाषाओं में प्रोग्रामिंग की अनुमति दी गई थी, उदाहरण के लिए, सोवियत BESM-4 के सिरिलिक वर्णमाला। ऐल्गॉल के सभी अक्षर भी यूनिकोड मानक का हिस्सा हैं और उनमें से अधिकांश कई लोकप्रिय फोंट में उपलब्ध होते हैं।

2009 अक्टूबर: यूनिकोड - फ़्लोटिंग पॉइंट नोटेशन के लिए (दशमलव प्रतिपादक प्रतीक) को यूनिकोड 5.2 में ऐतिहासिक बुरान कार्यक्रम ऐल्गॉल सॉफ़्टवेयर के साथ पिछड़े संगतता के लिए जोड़ा गया था।[30]

यह भी देखें

संदर्भ

  1. The name of this language family is sometimes given in mixed case (Algol 60 Archived 25 June 2007 at the Wayback Machine), and sometimes in all uppercase (ALGOL68 Archived 13 September 2014 at the Wayback Machine). For simplicity this article uses ALGOL.
  2. Collected Algorithms of the ACM Archived 17 October 2011 at Wikiwix Compressed archives of the algorithms. ACM.
  3. O'Hearn, P. W.; Tennent, R. D. (September 1996). "अल्गोल जैसी भाषाएं, परिचय". Archived from the original on 14 November 2011.
  4. "The ALGOL Programming Language" Archived 6 October 2016 at the Wayback Machine, University of Michigan-Dearborn
  5. Backus, J. W.; Bauer, F. L.; Green, J.; Katz, C.; McCarthy, J.; Perlis, A. J.; Rutishauser, H.; Samelson, K.; Vauquois, B.; Wegstein, J. H.; van Wijngaarden, A.; Woodger, M. (May 1960). Naur, Peter (ed.). "एल्गोरिदमिक भाषा ALGOL 60 पर रिपोर्ट". Communications of the ACM. Copenhagen. 3 (5): 299–314. doi:10.1145/367236.367262. ISSN 0001-0782. S2CID 278290.
  6. "एल्गोरिद्मिक लैंग्वेज एल्गोल 60 पर संशोधित रिपोर्ट". 1963. Archived from the original on 25 June 2007. Retrieved 8 June 2007.
  7. "X1 के लिए एक ALGOL 60 अनुवादक" (PDF). 1961. Archived (PDF) from the original on 9 October 2022. Retrieved 7 January 2021.
  8. "एल्गोरिथम भाषा ALGOL 68 पर संशोधित रिपोर्ट" (PDF). 1973. Archived (PDF) from the original on 13 September 2014. Retrieved 13 September 2014.
  9. Knuth, Donald E. (1964). "बैकस नॉर्मल फॉर्म बनाम बैकस नौर फॉर्म". Communications of the ACM. 7 (12): 735–736. doi:10.1145/355588.365140. S2CID 47537431.
  10. ACM पुरस्कार प्रशस्ति पत्र: पीटर नौर Archived 2 April 2012 at Archive-It, 2005
  11. O'Hearn, Peter; Tennent, Robert D. (1997). अल्गोल जैसी भाषाएँ. Cambridge, Massachusetts, United States: Birkhauser Boston. doi:10.1007/978-1-4612-4118-8. ISBN 978-0-8176-3880-1. S2CID 6273486.
  12. "कंप्यूटर भाषाओं का विश्वकोश". Archived from the original on 27 September 2011. Retrieved 20 January 2012.
  13. Computer Museum History Archived 20 August 2010 at the Wayback Machine, Historical Zuse-Computer Z23, restored by the Konrad Zuse Schule in Hünfeld, for the Computer Museum History Center in Mountain View (California) USA
  14. Daylight, E. G. (2011). "Dijkstra's Rallying Cry for Generalization: the Advent of the Recursive Procedure, late 1950s – early 1960s". The Computer Journal. 54 (11): 1756–1772. CiteSeerX 10.1.1.366.3916. doi:10.1093/comjnl/bxr002. Archived from the original on 12 March 2013.
  15. Kruseman Aretz, F.E.J. (30 June 2003). "The Dijkstra-Zonneveld ALGOL 60 compiler for the Electrologica X1". Software Engineering (PDF). History of Computer Science. Amsterdam: Centrum Wiskunde & Informatica. Archived (PDF) from the original on 4 March 2016.
  16. Hoare, Antony (1980). "The Emperor's Old Clothes". Communications of the ACM. 24 (2): 75–83. doi:10.1145/358549.358561. Archived from the original on 13 September 2017.
  17. Koffman, Eliot. "All I Really Need to KnowI Learned in CS1" (PDF). Archived from the original (PDF) on 12 October 2012. Retrieved 20 May 2012.
  18. "GOGOL – PDP-1 Algol 60 (Computer Language)". Online Historical Encyclopaedia of Programming Languages. Archived from the original on 2 February 2018. Retrieved 1 February 2018.
  19. Wippermann, Hans-Wilm (1968) [1967-06-15, 1966]. "Definition von Schrankenzahlen in Triplex-ALGOL". Computing (in Deutsch). Karlsruhe, Germany: Springer. 3 (2): 99–109. doi:10.1007/BF02277452. ISSN 0010-485X. S2CID 36685400. (11 pages)
  20. Aho, Alfred V.; Sethi, Ravi; Ullman, Jeffrey D. (1986). Compilers: Principles, Techniques, and Tools (1st ed.). Addison-Wesley. ISBN 0-201-10194-7., Section 7.5, and references therein
  21. "803 ALGOL" Archived 29 May 2010 at the Wayback Machine, the manual for Elliott 803 ALGOL
  22. "ICL 1900 श्रृंखला: एल्गोरिथम भाषा". ICL Technical Publication 3340. 1965.
  23. How ASCII Got Its Backslash Archived 11 July 2014 at the Wayback Machine, Bob Bemer
  24. iron/runic cross
  25. Decimal Exponent Symbol
  26. Baumann, R. (October 1961). "एल्कोर ग्रुप का एल्गोल मैनुअल, भाग 1" [ALGOL Manual of the ALCOR Group]. Elektronische Rechenanlagen (in Deutsch): 206–212.
  27. Baumann, R. (December 1961). "एल्कोर ग्रुप का एल्गोल मैनुअल, भाग 2" [ALGOL Manual of the ALCOR Group]. Elektronische Rechenanlagen (in Deutsch). 6: 259–265.
  28. Baumann, R. (April 1962). "एल्कोर ग्रुप का एल्गोल मैनुअल, भाग 3" [ALGOL Manual of the ALCOR Group]. Elektronische Rechenanlagen (in Deutsch). 2.
  29. "GOST 10859 मानक". Archived from the original on 16 June 2007. Retrieved 5 June 2007.
  30. Broukhis, Leonid (22 January 2008). "Revised proposal to encode the decimal exponent symbol" (PDF). www.unicode.org. ISO/IEC JTC 1/SC 2/WG 2. Archived (PDF) from the original on 31 July 2015. Retrieved 24 January 2016. This means that the need to transcode GOST-based software and documentation can still arise: legacy numerical algorithms (some of which may be of interest,e.g. for the automatic landing of the Buran shuttle ...) optimized for the non-IEEE floating point representation of BESM-6 cannot be simply recompiled and be expected to work reliably, and some human intervention may be necessary.


अग्रिम पठन


इस पेज में लापता आंतरिक लिंक की सूची

बाहरी संबंध