बीसीपीएल: Difference between revisions

From Vigyanwiki
(Created page with "{{Short description|Multi-paradigm computer programming language}} {{About|the programming language|the library system|Baltimore County Public Library}} {{Use dmy dates|date=A...")
 
No edit summary
Line 24: Line 24:
| website                =
| website                =
}}
}}
BCPL (बेसिक कंबाइंड प्रोग्रामिंग लैंग्वेज) एक [[प्रक्रियात्मक प्रोग्रामिंग]], [[अनिवार्य प्रोग्रामिंग]] और [[संरचित प्रोग्रामिंग]] [[प्रोग्रामिंग भाषा]] है। मूल रूप से अन्य भाषाओं के लिए [[संकलक]] लिखने का इरादा है, बीसीपीएल अब आम उपयोग में नहीं है। हालाँकि, इसका प्रभाव अभी भी महसूस किया जाता है क्योंकि BCPL का एक स्ट्रिप्ड डाउन और सिंटैक्टिक रूप से परिवर्तित संस्करण, जिसे B (प्रोग्रामिंग लैंग्वेज) कहा जाता है, वह भाषा थी जिस पर C (प्रोग्रामिंग लैंग्वेज) आधारित थी। बीसीपीएल ने कोड ब्लॉक को सीमित करने के लिए [[[[बी (प्रोग्रामिंग भाषा)]]]] का उपयोग करने सहित कई आधुनिक प्रोग्रामिंग भाषाओं की कई विशेषताएं पेश कीं।<ref>https://www.cl.cam.ac.uk/~mr10/bcplman.pdf The BCPL Cintsys and Cintpos User Guide, 2.1.4 Section brackets</ref> BCPL को पहली बार 1967 में [[कैम्ब्रिज विश्वविद्यालय]] के [[मार्टिन रिचर्ड्स (कंप्यूटर वैज्ञानिक)]] द्वारा लागू किया गया था।<ref name="IEEE_CPA_MRichards">{{cite web |url=https://www.computer.org/web/awards/pioneer-martin-richards |title=मार्टिन रिचर्ड्स (2003 कंप्यूटर पायनियर अवार्ड)|author=<!--Not stated--> |publisher=IEEE Computer Society |date=<!--Not stated--> |access-date=2017-11-24 |archive-url=https://archive.today/20171124083723/https://www.computer.org/web/awards/pioneer-martin-richards |archive-date=2017-11-24 |url-status = dead}}</रेफरी>
बीसीपीएल (बुनियादी संयुक्त प्रोग्रामिंग भाषा) एक [[प्रक्रियात्मक प्रोग्रामिंग]], [[अनिवार्य प्रोग्रामिंग]] और [[संरचित प्रोग्रामिंग]] [[प्रोग्रामिंग भाषा|भाषा]] है। मूल रूप से अन्य भाषाओं के लिए [[संकलक]] लिखने का इरादा है, बीसीपीएल अब साधारण उपयोग में नहीं है। यद्दपि, इसका प्रभाव अभी भी अनुभूत किया जाता है क्योंकि बीसीपीएल का एक उतारा गया और वाक्य रचित रूप से परिवर्तित संस्करण, जिसे [[बी (प्रोग्रामिंग भाषा)]] कहा जाता है, यह वह भाषा थी जिस पर सी(प्रोग्रामिंग भाषा) आधारित थी। बीसीपीएल ने कोड ब्लाकों को सीमित करने के लिए [<nowiki/>[[बी (प्रोग्रामिंग भाषा)]]] का उपयोग करने सहित कई आधुनिक प्रोग्रामिंग भाषाओं की कई विशेषताएं प्रस्तुत कीं हैं।<ref>https://www.cl.cam.ac.uk/~mr10/bcplman.pdf The BCPL Cintsys and Cintpos User Guide, 2.1.4 Section brackets</ref> बीसीपीएल को पहली बार 1967 में [[कैम्ब्रिज विश्वविद्यालय]] के [[मार्टिन रिचर्ड्स (कंप्यूटर वैज्ञानिक)]] द्वारा लागू किया गया था।<ref name="IEEE_CPA_MRichards">{{cite web |url=https://www.computer.org/web/awards/pioneer-martin-richards |title=मार्टिन रिचर्ड्स (2003 कंप्यूटर पायनियर अवार्ड)|author=<!--Not stated--> |publisher=IEEE Computer Society |date=<!--Not stated--> |access-date=2017-11-24 |archive-url=https://archive.today/20171124083723/https://www.computer.org/web/awards/pioneer-martin-richards |archive-date=2017-11-24 |url-status = dead}}</रेफरी>


== डिजाइन ==
== डिजाइन ==
Line 43: Line 43:


== इतिहास ==
== इतिहास ==
BCPL को पहली बार 1967 में कैम्ब्रिज विश्वविद्यालय के मार्टिन रिचर्ड्स (कंप्यूटर वैज्ञानिक) द्वारा लागू किया गया था।<ref name="IEEE_CPA_MRichards">{{cite web |url=https://www.computer.org/web/awards/pioneer-martin-richards |title=मार्टिन रिचर्ड्स (2003 कंप्यूटर पायनियर अवार्ड)|author=<!--Not stated--> |publisher=IEEE Computer Society |date=<!--Not stated--> |access-date=2017-11-24 |archive-url=https://archive.today/20171124083723/https://www.computer.org/web/awards/pioneer-martin-richards |archive-date=2017-11-24 |url-status = dead}}</ रेफ> बीसीपीएल अपने पूर्ववर्ती, कैम्ब्रिज प्रोग्रामिंग लैंग्वेज, जिसे बाद में [[संयुक्त प्रोग्रामिंग भाषा]] (सीपीएल) का नाम दिया गया था, के साथ कठिनाइयों का जवाब था, जिसे 1960 के दशक की शुरुआत में डिजाइन किया गया था। रिचर्ड्स ने पूर्ण भाषा की उन विशेषताओं को हटाकर बीसीपीएल बनाया जो संकलन को कठिन बनाते हैं। [[संगत समय-साझाकरण प्रणाली]] के तहत [[आईबीएम 7094]] के लिए पहला कंपाइलर कार्यान्वयन, तब लिखा गया था जब रिचर्ड्स 1967 के वसंत में [[मैसाचुसेट्स की तकनीकी संस्था]] में [[प्रोजेक्ट मैक]] का दौरा कर रहे थे। भाषा को पहली बार 1969 के स्प्रिंग जॉइंट को प्रस्तुत एक पेपर में वर्णित किया गया था। कंप्यूटर सम्मेलन।{{Citation needed|date=January 2017}}
बीसीपीएल को पहली बार 1967 में कैम्ब्रिज विश्वविद्यालय के मार्टिन रिचर्ड्स (कंप्यूटर वैज्ञानिक) द्वारा लागू किया गया था।<ref name="IEEE_CPA_MRichards">{{cite web |url=https://www.computer.org/web/awards/pioneer-martin-richards |title=मार्टिन रिचर्ड्स (2003 कंप्यूटर पायनियर अवार्ड)|author=<!--Not stated--> |publisher=IEEE Computer Society |date=<!--Not stated--> |access-date=2017-11-24 |archive-url=https://archive.today/20171124083723/https://www.computer.org/web/awards/pioneer-martin-richards |archive-date=2017-11-24 |url-status = dead}}</ रेफ> बीसीपीएल अपने पूर्ववर्ती, कैम्ब्रिज प्रोग्रामिंग लैंग्वेज, जिसे बाद में [[संयुक्त प्रोग्रामिंग भाषा]] (सीपीएल) का नाम दिया गया था, के साथ कठिनाइयों का जवाब था, जिसे 1960 के दशक की शुरुआत में डिजाइन किया गया था। रिचर्ड्स ने पूर्ण भाषा की उन विशेषताओं को हटाकर बीसीपीएल बनाया जो संकलन को कठिन बनाते हैं। [[संगत समय-साझाकरण प्रणाली]] के तहत [[आईबीएम 7094]] के लिए पहला कंपाइलर कार्यान्वयन, तब लिखा गया था जब रिचर्ड्स 1967 के वसंत में [[मैसाचुसेट्स की तकनीकी संस्था]] में [[प्रोजेक्ट मैक]] का दौरा कर रहे थे। भाषा को पहली बार 1969 के स्प्रिंग जॉइंट को प्रस्तुत एक पेपर में वर्णित किया गया था। कंप्यूटर सम्मेलन।{{Citation needed|date=January 2017}}
बीसीपीएल मूल रूप से बूटस्ट्रैप कैम्ब्रिज प्रोग्रामिंग लैंग्वेज के लिए खड़ा होने की अफवाह है, लेकिन बीसीपीएल में विकास बंद होने के बाद से सीपीएल कभी नहीं बनाया गया था, और बाद में बीसीपीएल पुस्तक के लिए संक्षिप्त नाम की पुनर्व्याख्या की गई थी।{{Clarify|date=January 2017}}{{Citation needed|date=January 2017}}
बीसीपीएल मूल रूप से बूटस्ट्रैप कैम्ब्रिज प्रोग्रामिंग लैंग्वेज के लिए खड़ा होने की अफवाह है, लेकिन बीसीपीएल में विकास बंद होने के बाद से सीपीएल कभी नहीं बनाया गया था, और बाद में बीसीपीएल पुस्तक के लिए संक्षिप्त नाम की पुनर्व्याख्या की गई थी।{{Clarify|date=January 2017}}{{Citation needed|date=January 2017}}
बीसीपीएल वह भाषा है जिसमें मूल हैलो वर्ल्ड प्रोग्राम| हैलो वर्ल्ड! कार्यक्रम लिखा गया था।<ref>[http://www.catb.org/jargon/html/B/BCPL.html BCPL], ''[[Jargon File]]''</ref> पहला [[MUD]] ​​भी BCPL ([[MUD1]]) में लिखा गया था।
बीसीपीएल वह भाषा है जिसमें मूल हैलो वर्ल्ड प्रोग्राम| हैलो वर्ल्ड! कार्यक्रम लिखा गया था।<ref>[http://www.catb.org/jargon/html/B/BCPL.html BCPL], ''[[Jargon File]]''</ref> पहला [[MUD]] ​​भी बीसीपीएल ([[MUD1]]) में लिखा गया था।


BCPL में [[टेनेक्स ([[ऑपरेटिंग सिस्टम]])]] आंशिक या पूर्ण रूप से लिखे गए थे (उदाहरण के लिए, [[TRIPOS]] और [[AmigaDOS]] के शुरुआती संस्करण)। बीसीपीएल मौलिक [[ज़ेरॉक्स PARC]] ऑल्टो (कंप्यूटर) परियोजना में इस्तेमाल की जाने वाली प्रारंभिक भाषा भी थी, पहला आधुनिक [[निजी कंप्यूटर]]; अन्य परियोजनाओं के बीच, बीसीपीएल में [[ब्रावो (सॉफ्टवेयर)]] [[शब्द संसाधक]] लिखा गया था।
बहुत सी [[ऑपरेटिंग सिस्टम|ऑपरेटिंग प्रणाली]] आंशिक या पूर्ण रूप से बीसीपीएल में लिखी गई थीं (उदाहरण के लिए, [[TRIPOS|ट्रिपॉस]] और [[AmigaDOS|एमिगाडॉस]] के शुरुआती संस्करण)। बीसीपीएल मौलिक [[ज़ेरॉक्स PARC|ज़ेरॉक्स पिएआरसी]] ऑल्टो (कंप्यूटर) परियोजना में उपयोग की जाने वाली प्रारंभिक भाषा भी थी, पहला आधुनिक [[निजी कंप्यूटर]]; अन्य परियोजनाओं के बीच, बीसीपीएल में [[ब्रावो (सॉफ्टवेयर)]] [[शब्द संसाधक]] लिखा गया था।


रिचर्ड्स के [[टाइटन (1963 कंप्यूटर)]] कंपाइलर के ओ-कोड के एक पेपर टेप के साथ शुरू करके, 1969 में बूटस्ट्रैप किए गए एक शुरुआती कंपाइलर ने ICT 1900 श्रृंखला को लक्षित किया। दो मशीनों में अलग-अलग शब्द-लंबाई (48 बनाम 24 बिट्स), अलग-अलग वर्ण एन्कोडिंग और अलग-अलग पैक्ड स्ट्रिंग प्रस्तुतियां थीं- और सफल बूटस्ट्रैपिंग ने विधि की व्यावहारिकता में विश्वास बढ़ाया।
रिचर्ड्स के [[टाइटन (1963 कंप्यूटर)]] संकलक के ओ-कोड के एक कागज पट्टीका के साथ शुरू करके, 1969 में बूटस्ट्रैप किए गए एक प्रारंभिक संकलक ने ICT 1900 श्रृंखला को लक्षित किया। दो मशीनों में अलग-अलग शब्द-लंबाई (48 बनाम 24 बिट्स), अलग-अलग वर्ण संकेतीकरण और अलग-अलग पैक तंत्री प्रस्तुतियां थीं- और सफल बूटस्ट्रैपिंग ने विधि की व्यावहारिकता में विश्वास बढ़ाया।


1970 के अंत तक, GE-600 श्रृंखला, [[IBM 360]], [[PDP-10]], [[TX-2]], [[CDC 6400]], [[UNIVAC 1108]], [[PDP-9]], [[KDF 9]] और एटलस 2 के लिए कार्यान्वयन मौजूद थे। 1974 में BBN में BCPL की एक बोली लागू की गई थी। इंटरमीडिएट ओ-कोड का उपयोग किए [[बीबीएन टेक्नोलॉजीज]] प्रारंभिक कार्यान्वयन BBN के TENEX (ऑपरेटिंग सिस्टम) PDP-10s पर होस्ट किया गया एक [[पार संकलक]] था, और [[ARPANET]] में प्रयुक्त दूसरी पीढ़ी के [[इंटरफ़ेस संदेश प्रोसेसर]] के BBN के कार्यान्वयन में उपयोग किए गए [[PDP-11]]s को सीधे लक्षित करता था।
1970 के अंत तक, जिई600 श्रृंखला, [[IBM 360|आईबिएम 360]], [[PDP-10|पिडिपी-10]], [[TX-2|टिएक्स-2]], [[CDC 6400|सीडिसी 6400]] [[UNIVAC 1108|युनिवेक 1108]], [[PDP-9|पीडिपी-9]], [[KDF 9|केडिएफ 9]] और एटलस 2 के लिए कार्यान्वयन उपस्थित थे। 1974 में बीबीएन में बीसीपीएल की एक बोली लागू की गई थी। इंटरमीडिएट ओ-कोड का उपयोग किए [[बीबीएन टेक्नोलॉजीज]] प्रारंभिक कार्यान्वयन बीबीएन के टेनेक्स (ऑपरेटिंग प्रणाली) पीडिपी-10s पर मेजबानी कि गयी [[पार संकलक]] थी, और [[ARPANET]] में प्रयुक्त दूसरी पीढ़ी के [[इंटरफ़ेस संदेश प्रोसेसर|अंतराफलक संदेश प्रक्रमक]] के बिबिएन के कार्यान्वयन में उपयोग किए गए [[PDP-11|पीडिपी]][[PDP-11|-11]]s को सीधे लक्षित करता था।


1980 के दशक के मध्य में [[बीबीसी माइक्रो]] के लिए रिचर्ड्स कंप्यूटर प्रोडक्ट्स द्वारा निर्मित एक संस्करण भी था, जो मार्टिन रिचर्ड्स के भाई जॉन रिचर्ड्स द्वारा शुरू की गई कंपनी थी।<ref>{{cite web|url=http://www.thebaron.info/archives/technology/reuters-technical-development-glossary|title=Reuters technical development: Glossary - THE BARON|website=www.thebaron.info}}</ref> [[बीबीसी डोमेसडे प्रोजेक्ट]] ने भाषा का इस्तेमाल किया। [[Amstrad CPC]] और [[Amstrad PCW]] कंप्यूटर के लिए BCPL के संस्करण भी 1986 में यूके सॉफ्टवेयर हाउस अर्नोर लिमिटेड द्वारा जारी किए गए थे। MacBCPL को 1985 में केंसिंग्टन, इंग्लैंड के Topexpress Ltd द्वारा Apple Macintosh के लिए जारी किया गया था।
1980 के दशक के मध्य में [[बीबीसी माइक्रो]] के लिए रिचर्ड्स कंप्यूटर उत्पादों द्वारा निर्मित एक संस्करण भी था, जो मार्टिन रिचर्ड्स के भाई जॉन रिचर्ड्स द्वारा प्रारंभ की गई कंपनी थी।<ref>{{cite web|url=http://www.thebaron.info/archives/technology/reuters-technical-development-glossary|title=Reuters technical development: Glossary - THE BARON|website=www.thebaron.info}}</ref> [[बीबीसी डोमेसडे प्रोजेक्ट|बीबीसी डोमेसडे परियोजना]] ने भाषा का उपयोग किया। [[Amstrad CPC|एमस्टर्ड सीपिसी]] और [[Amstrad PCW|एमस्टर्ड]] [[Amstrad PCW|पिसीड्बल्यू]] कंप्यूटर के लिए बीसीपीएल के संस्करण भी 1986 में यूके सॉफ्टवेयर हाउस अर्नोर लिमिटेड द्वारा जारी किए गए थे। मैकबीसीपीएल को 1985 में केंसिंग्टन, इंग्लैंड के टोप एक्सप्रेस द्वारा एप्पल मॅकिन्तोश के लिए जारी किया गया था।


बीसीपीएल के डिजाइन और दर्शन दोनों ने बी (प्रोग्रामिंग भाषा) को दृढ़ता से प्रभावित किया, जिसने बदले में सी (प्रोग्रामिंग भाषा) को प्रभावित किया।<ref name="C_Prog_Lang_KR">{{cite book |url=https://archive.org/details/cprogramminglang00bria |title=सी प्रोग्रामिंग लैंग्वेज|date=1978 |publisher=Bell Telephone Laboratories |isbn=0-13-110163-3 |pages=2 |authors=Kernighan, Brian W. and Dennis M. Ritchie}}</ref> उस समय प्रोग्रामरों ने इस बात पर बहस की कि क्या C के अंतिम उत्तराधिकारी को D कहा जाएगा, वर्णमाला में अगला अक्षर, या P, मूल भाषा के नाम का अगला अक्षर। सी के उत्तराधिकारी के रूप में स्वीकृत भाषा सी ++ (के साथ <code>++</code> सी के [[वेतन वृद्धि ऑपरेटर]] होने के नाते),<ref>[http://www.cplusplus.com/info/history/ History of C++] Retrieved 12 December 2017</ref> हालाँकि इस बीच, एक D (प्रोग्रामिंग भाषा) प्रोग्रामिंग भाषा भी मौजूद है।
बीसीपीएल के रचना और दर्शन दोनों ने [[बी (प्रोग्रामिंग भाषा)]] को दृढ़ता से प्रभावित किया, जिसने बदले में सी (प्रोग्रामिंग भाषा) को प्रभावित किया।<ref name="C_Prog_Lang_KR">{{cite book |url=https://archive.org/details/cprogramminglang00bria |title=सी प्रोग्रामिंग लैंग्वेज|date=1978 |publisher=Bell Telephone Laboratories |isbn=0-13-110163-3 |pages=2 |authors=Kernighan, Brian W. and Dennis M. Ritchie}}</ref> उस समय क्रमादेशकों ने इस बात पर बहस की कि क्या सी के अंतिम उत्तराधिकारी को डी कहा जाएगा, वर्णमाला में अगला अक्षर, या पि, मूल भाषा के नाम का अगला अक्षर होगा। सी के उत्तराधिकारी के रूप में स्वीकृत भाषा सी ++ (के साथ <code>++</code> सी के [[वेतन वृद्धि ऑपरेटर|वेतन वृद्धि प्रचालक]] होने के नाते),<ref>[http://www.cplusplus.com/info/history/ History of C++] Retrieved 12 December 2017</ref> यद्दपि इस बीच, एक डी (प्रोग्रामिंग भाषा) प्रोग्रामिंग भाषा भी उपस्थित है।


1979 में, कम से कम 25 आर्किटेक्चर के लिए बीसीपीएल का कार्यान्वयन मौजूद था; गैर-यूनिक्स प्रणालियों पर सी के लोकप्रिय होते ही भाषा धीरे-धीरे लोकप्रिय हो गई।
1979 में, कम से कम 25 वास्तुकला के लिए बीसीपीएल का कार्यान्वयन उपस्थित था; गैर-यूनिक्स प्रणालियों पर सी के लोकप्रिय होते ही भाषा धीरे-धीरे लोकप्रिय हो गई।


मार्टिन रिचर्ड्स अपनी वेबसाइट पर बीसीपीएल का एक आधुनिक संस्करण बनाए रखते हैं, जिसे आखिरी बार 2018 में अपडेट किया गया था। इसे लिनक्स, फ्रीबीएसडी और मैक ओएस एक्स सहित विभिन्न प्रणालियों पर चलाने के लिए सेट किया जा सकता है। नवीनतम वितरण में ग्राफिक्स और साउंड लाइब्रेरी शामिल हैं, और एक है व्यापक मैनुअल। वह इसमें प्रोग्राम करना जारी रखता है, जिसमें म्यूजिकल ऑटोमेटेड [[स्कोर निम्नलिखित]] पर अपने शोध के लिए भी शामिल है।
मार्टिन रिचर्ड्स अपनी वेबसाइट पर बीसीपीएल का एक आधुनिक संस्करण बनाए रखते हैं, जिसे आखिरी बार 2018 में अघतन किया गया था। इसे लिनक्स, फ्रीबीएसडी और मैक ओएस एक्स सहित विभिन्न प्रणालियों पर चलाने के लिए सेट किया जा सकता है। नवीनतम वितरण में सुचित्रित और ध्वनि पुस्तकालय और एक व्यापक नियमावली सम्मिलित हैं। वह इसमें योजनाएं करना जारी रखता है, जिसमें संगीतमय स्वाचालित [[स्कोर निम्नलिखित|अंक निम्नलिखित]] पर अपने शोध के लिए भी सम्मिलित है।


बीसीपीएल के लिए एक सामान्य अनौपचारिक [[मीडिया प्रकार]] है {{mono|text/x-bcpl}}.
बीसीपीएल के लिए एक सामान्य अनौपचारिक [[मीडिया प्रकार]] है .


== उदाहरण ==
== उदाहरण ==
{{original research|section|date=August 2019}}
{{original research|section|date=August 2019}}
यदि ये प्रोग्राम रिचर्ड्स के Cintsys के वर्तमान संस्करण (दिसंबर 2018) का उपयोग करके चलाए जा रहे हैं, तो त्रुटियों से बचने के लिए LIBHDR, START और WRITEF को लोअर केस में बदला जाना चाहिए।
यदि ये प्रोग्राम रिचर्ड्स के सिन्टसिस के वर्तमान संस्करण (दिसंबर 2018) का उपयोग करके चलाए जा रहे हैं, तो त्रुटियों से बचने के लिए LIBHDR, START और WRITEF को लोअर केस में बदला जाना चाहिए।


प्रिंट भाज्य:
प्रिंट भाज्य:
<पूर्व>
<पूर्व>
LIBHDR प्राप्त करें
LIBHDR प्राप्त करें


एलईटी स्टार्ट () = वैलोफ $ (
एलईटी स्टार्ट () = वैलोफ $  
 
I के लिए = 1 से 5 DO
I के लिए = 1 से 5 DO
WRITEF(%N! =%I4*N , I, FACT(I))
WRITEF(%N! =%I4*N , I, FACT(I))
परिणाम 0
परिणाम 0
$)
$)


AND FACT(N) = N = 0 -> 1, N * FACT(N - 1)
AND FACT(N) = N = 0 -> 1, N * FACT(N - 1)
</पूर्व>
</पूर्व>


[[आठ रानियों की पहेली]] के हल गिनें:
[[आठ रानियों की पहेली]] के हल गिनें:
<पूर्व>
<पूर्व>
LIBHDR प्राप्त करें
LIBHDR प्राप्त करें


वैश्विक $(
वैश्विक $(
गिनती: 200
गिनती: 200
सब: 201
सब: 201
$)
$)


आइए कोशिश करें (एलडी, पंक्ति, आरडी) बीई
आइए कोशिश करें (एलडी, पंक्ति, आरडी) बीई
टेस्ट पंक्ति = सभी
टेस्ट पंक्ति = सभी
काउंट := काउंट + 1
काउंट := काउंट + 1
अन्य $(
अन्य $(
एलईटी पॉस = सभी और ~ (एलडी | पंक्ति | आरडी)
एलईटी पॉस = सभी और ~ (एलडी | पंक्ति | आरडी)
पोस तक = 0 DO $(
पोस तक = 0 DO $(
एलईटी पी = पोस और -पॉस
एलईटी पी = पोस और -पॉस
पोस := पोस - प
पोस := पोस - प
कोशिश (एलडी + पी << 1, पंक्ति + पी, आरडी + पी >> 1)
कोशिश (एलडी + पी << 1, पंक्ति + पी, आरडी + पी >> 1)
$)
$)
$)
$)


एलईटी स्टार्ट () = वैलोफ $ (
एलईटी स्टार्ट () = वैलोफ $ (
सब := 1
सब := 1
I के लिए = 1 से 12 DO $(
I के लिए = 1 से 12 DO $(
काउंट := 0
काउंट := 0
कोशिश (0, 0, 0)
कोशिश (0, 0, 0)
WRITEF(%I2-क्वींस समस्या में%I5 समाधान*N , I, काउंट है)
WRITEF(%I2-क्वींस समस्या में%I5 समाधान*N , I, काउंट है)
सब := 2 * सब + 1
सब := 2 * सब + 1
$)
$)
परिणाम 0
परिणाम 0
$)
$)
</पूर्व>
</पूर्व>


Line 118: Line 150:


==अग्रिम पठन==
==अग्रिम पठन==
* Martin Richards, ''[https://www.bell-labs.com/usr/dmr/www/bcpl.html The BCPL Reference Manual]'' (Memorandum M-352, [[Project MAC]], Cambridge, MA, USA, July, 1967) <!-- temporary copy: http://www.fh-jena.de/~kleine/history/languages/Richards-BCPL-ReferenceManual.pdf -->
* Martin Richards, ''[https://www.bell-labs.com/usr/dmr/www/bcpl.html The बीसीपीएल Reference Manual]'' (Memorandum M-352, [[Project MAC]], Cambridge, MA, USA, July, 1967)<!-- temporary copy: http://www.fh-jena.de/~kleine/history/languages/Richards-BCPL-ReferenceManual.pdf -->
* Martin Richards, ''BCPL - a tool for compiler writing and systems programming'' ('''Proceedings of the Spring Joint Computer Conference''', Vol 34, pp 557–566, 1969)
* Martin Richards, ''बीसीपीएल - a tool for compiler writing and systems programming'' ('''Proceedings of the Spring Joint Computer Conference''', Vol 34, pp 557–566, 1969)
* Martin Richards, Arthur Evans, Robert F. Mabee, ''[https://web.archive.org/web/20160305034639/http://publications.csail.mit.edu/lcs/specpub.php?id=709 The BCPL Reference Manual]'' (MAC TR-141, [[Project MAC]], Cambridge, MA, USA, 1974)
* Martin Richards, Arthur Evans, Robert F. Mabee, ''[https://web.archive.org/web/20160305034639/http://publications.csail.mit.edu/lcs/specpub.php?id=709 The बीसीपीएल Reference Manual]'' (MAC TR-141, [[Project MAC]], Cambridge, MA, USA, 1974)
* Martin Richards, Colin Whitby-Strevens, ''BCPL, the language and its compiler'' (Cambridge University Press, 1980) {{ISBN|0-521-28681-6}}
* Martin Richards, Colin Whitby-Strevens, ''बीसीपीएल, the language and its compiler'' (Cambridge University Press, 1980) {{ISBN|0-521-28681-6}}




==बाहरी संबंध==
==बाहरी संबंध==
* [http://www.cl.cam.ac.uk/users/mr/BCPL.html Martin Richards' BCPL distribution]
* [http://www.cl.cam.ac.uk/users/mr/BCPL.html Martin Richards' बीसीपीएल distribution]
* [https://www.bell-labs.com/usr/dmr/www/bcpl.html Martin Richards' BCPL Reference Manual, 1967] by [[Dennis M. Ritchie]]
* [https://www.bell-labs.com/usr/dmr/www/bcpl.html Martin Richards' बीसीपीएल Reference Manual, 1967] by [[Dennis M. Ritchie]]
* [http://www.catb.org/~esr/jargon/html/B/BCPL.html BCPL entry] in the [[Jargon File]]
* [http://www.catb.org/~esr/jargon/html/B/BCPL.html बीसीपीएल entry] in the [[Jargon File]]
* Nordier & Associates' [[x86]] [https://web.archive.org/web/20200715142010/http://www.nordier.com/software/bcpl.html port]
* Nordier & Associates' [[x86]] [https://web.archive.org/web/20200715142010/http://www.nordier.com/software/bcpl.html port]
* [http://cpcwiki.eu/imgs/3/3a/ArnorBCPL.pdf ArnorBCPL manual]
* [http://cpcwiki.eu/imgs/3/3a/ArnorBCPL.pdf Arnorबीसीपीएल manual]
* How BCPL evolved from CPL, Martin Richards [https://www.cl.cam.ac.uk/~mr10/cpl2bcpl.pdf]
* How बीसीपीएल evolved from CPL, Martin Richards [https://www.cl.cam.ac.uk/~mr10/cpl2bcpl.pdf]
* [https://www.bell-labs.com/usr/dmr/www/chist.html Ritchie's ''The Development of the C Language''] has commentary about BCPL's influence on C
* [https://www.bell-labs.com/usr/dmr/www/chist.html Ritchie's ''The Development of the C Language''] has commentary about बीसीपीएल's influence on C
* [https://www.cl.cam.ac.uk/~mr10/bcplman.pdf The BCPL Cintsys and Cintpos User Guide]
* [https://www.cl.cam.ac.uk/~mr10/bcplman.pdf The बीसीपीएल Cintsys and Cintpos User Guide]


{{Authority control}}
{{Authority control}}

Revision as of 07:34, 1 March 2023

BCPL
Paradigmprocedural, imperative, structured
द्वारा डिज़ाइन किया गयाMartin Richards
पहली प्रस्तुति1967; 57 years ago (1967)[1]
टाइपिंग अनुशासनtypeless (everything is a word)
Influenced by
CPL
Influenced
B, C, Go[2]

बीसीपीएल (बुनियादी संयुक्त प्रोग्रामिंग भाषा) एक प्रक्रियात्मक प्रोग्रामिंग, अनिवार्य प्रोग्रामिंग और संरचित प्रोग्रामिंग भाषा है। मूल रूप से अन्य भाषाओं के लिए संकलक लिखने का इरादा है, बीसीपीएल अब साधारण उपयोग में नहीं है। यद्दपि, इसका प्रभाव अभी भी अनुभूत किया जाता है क्योंकि बीसीपीएल का एक उतारा गया और वाक्य रचित रूप से परिवर्तित संस्करण, जिसे बी (प्रोग्रामिंग भाषा) कहा जाता है, यह वह भाषा थी जिस पर सी(प्रोग्रामिंग भाषा) आधारित थी। बीसीपीएल ने कोड ब्लाकों को सीमित करने के लिए [बी (प्रोग्रामिंग भाषा)] का उपयोग करने सहित कई आधुनिक प्रोग्रामिंग भाषाओं की कई विशेषताएं प्रस्तुत कीं हैं।[3] बीसीपीएल को पहली बार 1967 में कैम्ब्रिज विश्वविद्यालय के मार्टिन रिचर्ड्स (कंप्यूटर वैज्ञानिक) द्वारा लागू किया गया था।Cite error: Closing </ref> missing for <ref> tag}}


इतिहास

बीसीपीएल को पहली बार 1967 में कैम्ब्रिज विश्वविद्यालय के मार्टिन रिचर्ड्स (कंप्यूटर वैज्ञानिक) द्वारा लागू किया गया था।Cite error: Closing </ref> missing for <ref> tag पहला MUD ​​भी बीसीपीएल (MUD1) में लिखा गया था।

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

रिचर्ड्स के टाइटन (1963 कंप्यूटर) संकलक के ओ-कोड के एक कागज पट्टीका के साथ शुरू करके, 1969 में बूटस्ट्रैप किए गए एक प्रारंभिक संकलक ने ICT 1900 श्रृंखला को लक्षित किया। दो मशीनों में अलग-अलग शब्द-लंबाई (48 बनाम 24 बिट्स), अलग-अलग वर्ण संकेतीकरण और अलग-अलग पैक तंत्री प्रस्तुतियां थीं- और सफल बूटस्ट्रैपिंग ने विधि की व्यावहारिकता में विश्वास बढ़ाया।

1970 के अंत तक, जिई600 श्रृंखला, आईबिएम 360, पिडिपी-10, टिएक्स-2, सीडिसी 6400 युनिवेक 1108, पीडिपी-9, केडिएफ 9 और एटलस 2 के लिए कार्यान्वयन उपस्थित थे। 1974 में बीबीएन में बीसीपीएल की एक बोली लागू की गई थी। इंटरमीडिएट ओ-कोड का उपयोग किए बीबीएन टेक्नोलॉजीज प्रारंभिक कार्यान्वयन बीबीएन के टेनेक्स (ऑपरेटिंग प्रणाली) पीडिपी-10s पर मेजबानी कि गयी पार संकलक थी, और ARPANET में प्रयुक्त दूसरी पीढ़ी के अंतराफलक संदेश प्रक्रमक के बिबिएन के कार्यान्वयन में उपयोग किए गए पीडिपी-11s को सीधे लक्षित करता था।

1980 के दशक के मध्य में बीबीसी माइक्रो के लिए रिचर्ड्स कंप्यूटर उत्पादों द्वारा निर्मित एक संस्करण भी था, जो मार्टिन रिचर्ड्स के भाई जॉन रिचर्ड्स द्वारा प्रारंभ की गई कंपनी थी।[4] बीबीसी डोमेसडे परियोजना ने भाषा का उपयोग किया। एमस्टर्ड सीपिसी और एमस्टर्ड पिसीड्बल्यू कंप्यूटर के लिए बीसीपीएल के संस्करण भी 1986 में यूके सॉफ्टवेयर हाउस अर्नोर लिमिटेड द्वारा जारी किए गए थे। मैकबीसीपीएल को 1985 में केंसिंग्टन, इंग्लैंड के टोप एक्सप्रेस द्वारा एप्पल मॅकिन्तोश के लिए जारी किया गया था।

बीसीपीएल के रचना और दर्शन दोनों ने बी (प्रोग्रामिंग भाषा) को दृढ़ता से प्रभावित किया, जिसने बदले में सी (प्रोग्रामिंग भाषा) को प्रभावित किया।[5] उस समय क्रमादेशकों ने इस बात पर बहस की कि क्या सी के अंतिम उत्तराधिकारी को डी कहा जाएगा, वर्णमाला में अगला अक्षर, या पि, मूल भाषा के नाम का अगला अक्षर होगा। सी के उत्तराधिकारी के रूप में स्वीकृत भाषा सी ++ (के साथ ++ सी के वेतन वृद्धि प्रचालक होने के नाते),[6] यद्दपि इस बीच, एक डी (प्रोग्रामिंग भाषा) प्रोग्रामिंग भाषा भी उपस्थित है।

1979 में, कम से कम 25 वास्तुकला के लिए बीसीपीएल का कार्यान्वयन उपस्थित था; गैर-यूनिक्स प्रणालियों पर सी के लोकप्रिय होते ही भाषा धीरे-धीरे लोकप्रिय हो गई।

मार्टिन रिचर्ड्स अपनी वेबसाइट पर बीसीपीएल का एक आधुनिक संस्करण बनाए रखते हैं, जिसे आखिरी बार 2018 में अघतन किया गया था। इसे लिनक्स, फ्रीबीएसडी और मैक ओएस एक्स सहित विभिन्न प्रणालियों पर चलाने के लिए सेट किया जा सकता है। नवीनतम वितरण में सुचित्रित और ध्वनि पुस्तकालय और एक व्यापक नियमावली सम्मिलित हैं। वह इसमें योजनाएं करना जारी रखता है, जिसमें संगीतमय स्वाचालित अंक निम्नलिखित पर अपने शोध के लिए भी सम्मिलित है।

बीसीपीएल के लिए एक सामान्य अनौपचारिक मीडिया प्रकार है .

उदाहरण

यदि ये प्रोग्राम रिचर्ड्स के सिन्टसिस के वर्तमान संस्करण (दिसंबर 2018) का उपयोग करके चलाए जा रहे हैं, तो त्रुटियों से बचने के लिए LIBHDR, START और WRITEF को लोअर केस में बदला जाना चाहिए।

प्रिंट भाज्य:

<पूर्व>

LIBHDR प्राप्त करें

एलईटी स्टार्ट () = वैलोफ $

I के लिए = 1 से 5 DO

WRITEF(%N! =%I4*N , I, FACT(I))

परिणाम 0

$)

AND FACT(N) = N = 0 -> 1, N * FACT(N - 1)

</पूर्व>

आठ रानियों की पहेली के हल गिनें:

<पूर्व>

LIBHDR प्राप्त करें

वैश्विक $(

गिनती: 200

सब: 201

$)

आइए कोशिश करें (एलडी, पंक्ति, आरडी) बीई

टेस्ट पंक्ति = सभी

काउंट := काउंट + 1

अन्य $(

एलईटी पॉस = सभी और ~ (एलडी | पंक्ति | आरडी)

पोस तक = 0 DO $(

एलईटी पी = पोस और -पॉस

पोस := पोस - प

कोशिश (एलडी + पी << 1, पंक्ति + पी, आरडी + पी >> 1)

$)

$)

एलईटी स्टार्ट () = वैलोफ $ (

सब := 1

I के लिए = 1 से 12 DO $(

काउंट := 0

कोशिश (0, 0, 0)

WRITEF(%I2-क्वींस समस्या में%I5 समाधान*N , I, काउंट है)

सब := 2 * सब + 1

$)

परिणाम 0

$)

</पूर्व>

संदर्भ

  1. Cite error: Invalid <ref> tag; no text was provided for refs named IEEE_CPA_MRichards
  2. Pike, Rob (24 April 2014). "Hello Gophers". Retrieved 11 March 2016.
  3. https://www.cl.cam.ac.uk/~mr10/bcplman.pdf The BCPL Cintsys and Cintpos User Guide, 2.1.4 Section brackets
  4. "Reuters technical development: Glossary - THE BARON". www.thebaron.info.
  5. Kernighan, Brian W. and Dennis M. Ritchie (1978). सी प्रोग्रामिंग लैंग्वेज. Bell Telephone Laboratories. p. 2. ISBN 0-13-110163-3.{{cite book}}: CS1 maint: uses authors parameter (link)
  6. History of C++ Retrieved 12 December 2017


अग्रिम पठन


बाहरी संबंध