बेसिक प्रोग्रामिंग लैंग्वेज क्या है। मूल भाषा। विजुअल बेसिक के प्रमुख संस्करण

बेसिक भाषा (उर्फ बेसिक, उर्फ ​​बेसिक) प्रोग्रामिंग भाषाओं के परिवार का हिस्सा है उच्च स्तर.

बुनियादीएक संक्षिप्त नाम है जिसका अर्थ है: बी eginner's एल-उद्देश्य एसप्रतीक मैंअनुदेश सी ode- सार्वभौमिक कोडशुरुआती के लिए प्रतीकात्मक निर्देश)।

बेसिक प्रोग्रामिंग लैंग्वेज 1964 में विकसित की गई थी। विचार एक ऐसी भाषा बनाने का था जिसके साथ जिन छात्रों के पास प्रोग्रामिंग कौशल नहीं था वे स्वतंत्र रूप से अपनी समस्याओं को हल करने के लिए बना सकते थे।

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

यह भाषा एक समय में बहुत लोकप्रिय थी और कंप्यूटर की दुनिया में विभिन्न बोलियों के रूप में, मुख्य रूप से घरेलू कंप्यूटरों के लिए एक भाषा के रूप में फैल गई है।

अपनी स्थापना के बाद से, BASIC को आधुनिक प्रोग्रामिंग के नियमों का पालन करते हुए बार-बार परिष्कृत और जटिल किया गया है। इस कारण से, अब तक यह अपनी सादगी खो चुका है (पहले संस्करणों की तुलना में)। हालाँकि, इसे ध्यान में रखते हुए, आधुनिक बेसिक अभी भी भाषाओं की तुलना में अपेक्षाकृत सरल भाषा बनी हुई है, जैसे, उदाहरण के लिए, .

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

1960 के दशक की शुरुआत में, कंप्यूटर अधिक से अधिक किफायती हो गए। न केवल वैज्ञानिक-प्रोग्रामर कंप्यूटर पर काम कर सकते थे, बल्कि स्कूली बच्चे और वे छात्र भी जो प्रोग्रामर नहीं थे। हालाँकि, इन स्कूली बच्चों और छात्रों को पहले से ही ऐसी समस्याएँ थीं जिन्हें कंप्यूटर की मदद से हल करना था।

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

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

यह स्पष्ट है कि अंग्रेजी का अध्ययन करने के प्रयास उनके अन्य अध्ययनों को नुकसान पहुंचाने के लिए पर्याप्त नहीं थे, क्योंकि वे प्रिंसटन में गणित का अध्ययन करने गए थे। यह आपकी कल्पना से कहीं अधिक घटनापूर्ण निकला, क्योंकि अपने पहले वर्ष में उन्हें रिचर्ड फेनिमैन के साथ अपने बॉस के रूप में परमाणु बम परियोजना में मदद करने के लिए लॉस एलामोस परियोजना के लिए बुलाया गया था।

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

पाठ का लक्ष्य निर्धारित करना

एक साधारण संख्यात्मक समस्या को भी हल करने में हफ्तों लग जाते थे। लोगों ने पूछा: क्या आप जानते हैं कि आइंस्टाइन के लिए भौतिक भौतिकी ही काफी है? मेरी मानक पंक्ति: आइंस्टीन को भौतिकी में मदद की ज़रूरत नहीं थी। वे इसमें बहुत अच्छे थे, लेकिन शोध के स्तर पर वे आधुनिक गणितज्ञ नहीं थे। उनके सहायक दो कारणों से गणितज्ञ थे। सबसे पहले, सरल गणनाओं में, हर कोई गलतियाँ करता है। एक अंतर समीकरण को हल करने के लिए एक सूत्र को दूसरे से प्राप्त करने के लिए कई लंबी गणनाएं थीं।

हमें कितनी बार गलत उत्तर मिला है। कभी हम में से एक को गलत जवाब मिल जाता है तो कभी दूसरे को। गणना इतनी लंबी थी कि यदि आपको अंत में वही उत्तर मिला, तो आप निश्चित थे। केमेनी ने कई घंटे आइंस्टीन की गणनाओं की जाँच में बिताए और कहा।

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

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

QBASIC प्रोग्रामिंग वातावरण

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

23 साल की उम्र में गणित में पीएचडी और डार्टमाउथ कॉलेज में 27 साल की पूरी प्रोफेसरशिप से आपको अंदाजा हो जाता है कि केमेनी का करियर कितनी तेजी से आगे बढ़ा है। लेकिन, शुद्ध शोध के बजाय, उनकी रुचि विशेष रूप से सीखने और सीखने पर केंद्रित थी।

मूल भाषा के विकास में निम्नलिखित आठ सिद्धांतों का उपयोग किया गया था:

  1. शुरुआती लोगों के लिए भाषा का उपयोग करना आसान और समझने योग्य होना चाहिए।
  2. प्रोग्रामिंग भाषा होनी चाहिए सामान्य उद्देश्य(और विशेष नहीं, जैसे, उदाहरण के लिए, ऊपर उल्लिखित फोरट्रान और प्रोलॉग)।
  3. भाषा को अनुभवी प्रोग्रामर के लिए उपलब्ध एक्स्टेंसिबल कार्यक्षमता प्रदान करनी चाहिए।
  4. भाषा इंटरेक्टिव होनी चाहिए, यानी इसे यूजर कमांड को निष्पादित करना चाहिए।
  5. भाषा को स्पष्ट और समझने योग्य त्रुटि संदेश प्रदान करना चाहिए।
  6. भाषा को छोटे प्रोग्रामों पर शीघ्रता से कार्य करना चाहिए।
  7. भाषा को हार्डवेयर से नहीं जोड़ा जाना चाहिए और प्रोग्रामर को यह समझने की आवश्यकता नहीं होनी चाहिए कि हार्डवेयर कैसे काम करता है।
  8. भाषा को उपयोगकर्ता को ऑपरेटिंग सिस्टम (या उपयोगकर्ता से ऑपरेटिंग सिस्टम - जैसा आप चाहें)) से सुरक्षित रखना चाहिए।

बेसिक बनाते समय, आंशिक रूप से फोरट्रान II और आंशिक रूप से अल्गोल 60 को आधार के रूप में लिया गया था। प्रारंभ में, बेसिक को कई टर्मिनलों के समर्थन के साथ GE-265 मेनफ्रेम पर लागू किया गया था (मेनफ्रेम एक बड़ा, उच्च-प्रदर्शन, दोष-सहिष्णु सर्वर है)।

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

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

हालाँकि यह भाषा पहले से ही कई मिनी कंप्यूटरों पर प्रयोग में थी, लेकिन इसका वास्तविक प्रसार अल्टेयर 8800 माइक्रो कंप्यूटर की शुरुआत के साथ शुरू हुआ।


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

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

अंतर्निहित गणित कार्य

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

1975 में, Microsoft (तब यह केवल दो थे - और पॉल एलन, मोंटे डेविडोव की भागीदारी के साथ), अल्टेयर बेसिक जारी किया। फिर इसके संस्करण लाइसेंस के तहत दूसरे प्लेटफॉर्म पर दिखाई दिए और जल्द ही इसकी लाखों प्रतियां उपयोग में आ गईं और विभिन्न विकल्प. एक संस्करण, एप्पलसॉफ्ट बेसिक, के लिए मानक भाषा बन गया है। BASIC-80 बोली CP/M ऑपरेटिंग सिस्टम के लिए बनाई गई थी और यह अपने समय से बहुत आगे थी।

लेकिन वे कैसे तय करते हैं कि किस भाषा को देखना है? और फिर हम सब। हमें शायद कुछ ऐसा मिलेगा। कुछ प्रश्न इतने बार पूछे जाते हैं कि उन्हें संपूर्ण इन्फोग्राफिक उपचार मिलता है। अपनी पहली प्रोग्रामिंग भाषा पर निर्णय लेना एक मजेदार प्रक्रिया हो सकती है - उनमें से एक की तरह "आप में से कौन क्वेंटिन टारनटिनो है"? व्यक्तित्व प्रश्नोत्तरी।

अपनी पहली प्रोग्रामिंग भाषा के साथ दूर से भी सक्षम बनने में आपको सैकड़ों घंटे का अभ्यास करना होगा। इसलिए, आपको निम्नलिखित कारकों पर विचार करना चाहिए। नौकरी बाजार भाषा के लिए दीर्घकालिक संभावनाओं के बारे में बात करने के लिए, सरल भाषा यह जानने के लिए कि आप सीखते समय कौन सी परियोजनाएं बना सकते हैं। हर साल नई प्रोग्रामिंग भाषाएं लाता है, और उनके साथ नए वैज्ञानिक लेख लाता है।


वैसे बिल गेट्स ने कहा कि बेसिक उनकी पसंदीदा प्रोग्रामिंग लैंग्वेज है।

1970 और 1980 के दशक की शुरुआत में बेसिक सबसे तेजी से और सफलतापूर्वक विकसित हुआ। इस समय लगभग सभी व्यक्तिगत कम्प्यूटर्सउनका अपना बेसिक दुभाषिया था, जिसे अक्सर सीधे ROM में सिल दिया जाता था। सरलतम कंप्यूटरों में, उन्होंने ऑपरेटिंग सिस्टम के कार्यों को भी किया।

पिछले महीने के लिए इस रत्न को देखें। जब आपकी पहली प्रोग्रामिंग भाषा चुनने की बात आती है, तो विकल्पों की कोई कमी नहीं होती है। लेकिन इसके नीचे एक छोटा इंजन है जो पिछले कुछ वर्षों में धीरे-धीरे लोकप्रियता में लुभावना हो सकता है।

इन प्रोग्रामिंग भाषाओं के बारे में बात करने से पहले, मैं स्पष्ट कर दूं। आइए देखें कि वर्तमान में स्कूलों में प्रोग्रामिंग कैसे सिखाई जाती है। विश्वविद्यालय पारंपरिक रूप से कंप्यूटर विज्ञान के तत्वावधान में प्रोग्रामिंग सिखाते हैं, जिसे अक्सर गणित के विस्तार या इलेक्ट्रिकल इंजीनियरिंग की डिग्री के रूप में देखा जाता है।

लगभग अधिक से अधिक शक्तिशाली कंप्यूटरइंटरैक्टिव बेसिक सिस्टम भी थे। आईबीएम पीसी और संगत प्लेटफॉर्म के लिए बेसिक के कई नए संस्करण बनाए गए हैं। Microsoft ने MS-DOS/PC DOS के लिए BASIC को बेचा, जिसमें BASICA, GW-BASIC (BASICA का एक संशोधन जिसमें IBM से "फर्मवेयर" की आवश्यकता नहीं है) और QuickBASIC शामिल हैं।

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

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

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

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

मूल प्रोग्रामिंग भाषा का परिचय

इसके अलावा, यह ध्यान देने योग्य है कि बेहतर दिनविकास मोबाइल एप्लीकेशनइसके पीछे हो सकता है। सबसे पहले, जितना लोग मोबाइल ऐप का उपयोग करते हैं, लगभग सभी डेवलपर नौकरियों में से लगभग आधे वेब डेवलपमेंट हैं। इसकी तुलना 8% मोबाइल ऐप डेवलपमेंट जॉब्स से करें।

"इसके लिए एक ऐप है" की महान दृष्टि सच नहीं हुई। इसके बजाय, अधिकांश स्मार्टफोन मालिकों ने नए ऐप्स डाउनलोड करना बंद कर दिया है। इस प्रकार, मोबाइल ऐप डेवलपर्स की अधिकांश मांग कुछ बड़े नियोक्ताओं में केंद्रित है।

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

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

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

बेसिक भाषा की विशेषताएं

BASIC के शुरुआती संस्करण (जैसे BASICA, GW-BASIC) आधुनिक बोलियों से बहुत अलग हैं और आज शायद ही इनका उपयोग किया जाता है। इसके अलावा, वे इतने भिन्न हैं कि एक नौसिखिया प्रोग्रामर पुराने बेसिक में हर प्रोग्राम को आधुनिक बेसिक में अनुवाद करने में सक्षम नहीं होगा।

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

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


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

वहां आपके पास है - कोडिंग के राजा की भाषाएं। आपकी पसंद की प्रोग्रामिंग भाषा कौन सी है और क्यों? यदि आप एक नौसिखिया हैं जो कोडिंग में गोता लगाना चाहते हैं, तो इन पर एक नज़र डालें, आप कुछ ही समय में कोड मास्टर बन जाएंगे। यह दुनिया के सबसे लोकप्रिय डेटाबेस में से एक बन गया है।

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

इसलिए, पुराने BASIC में, प्रत्येक पंक्ति एक संख्या से शुरू होती थी। जब संपादक में प्रवेश किया, तो पंक्ति समाप्त हो गई मूल लेखइसकी संख्या के अनुरूप स्थिति में कार्यक्रम। एक नई पंक्ति सम्मिलित करने के लिए, एक संख्या के साथ एक पंक्ति जोड़ना आवश्यक था जो अन्य दो पंक्तियों की संख्या के बीच की सीमा में थी।

लाइनों को "फैलाना" असंभव था यदि आसन्न संख्याओं के साथ लाइनों के बीच एक नई लाइन सम्मिलित करना आवश्यक था, तो आपको नंबरिंग में एक ब्रेक सुनिश्चित करने के लिए इन पंक्तियों को अन्य नंबरों के साथ फिर से दर्ज करना होगा (या विशेष RENUM कमांड का उपयोग करें, जो एक स्थिर चरण के साथ पहले से दर्ज सभी पंक्तियों की संख्या को बदल देता है)।

जैसा कि आप समझते हैं, अधिक या कम जटिल कार्यक्रम बनाते समय, यह अनुमान लगाना लगभग असंभव है कि इसमें कितनी लाइनें होंगी और वे किस क्रम में चलेंगे।

इसलिए, कार्यक्रम के बाद के संपादन को सुनिश्चित करने के लिए, यह 10 (और कभी-कभी अधिक) की वृद्धि में लाइनों की संख्या के लिए प्रथागत हो गया है। इसने ज्यादातर मामलों में बिना किसी समस्या के नई लाइनें सम्मिलित करना संभव बना दिया, बिना लाइन नंबरों को बदले जो पहले दर्ज की गई थीं।

हम थोड़ी देर बाद एक उदाहरण पर विचार करेंगे, जब हम बेसिक भाषा के वाक्य-विन्यास से परिचित होंगे।

बुनियादी भाषा वाक्यविन्यास

टर्मिनेटर स्ट्रिंग का अंत है। एक पंक्ति में कई कथन रखने के लिए, आपको उनके बीच एक कोलन रखना होगा (भाषा के सभी कार्यान्वयनों में इसकी अनुमति नहीं थी)।

बेसिक में सबसे सरल कार्यक्रम:

10 प्रिंट "हैलो, वर्ल्ड!"

बेसिक एक केस-असंवेदनशील भाषा है। यानी BASIC के लिए PRINT और Print शब्द एक ही हैं। यह न केवल खोजशब्दों पर लागू होता है, बल्कि चर नामों पर भी लागू होता है। हालांकि भाषा के कुछ कार्यान्वयन पूरी तरह या आंशिक रूप से केस सेंसिटिव हैं (जैसे लिबर्टी बेसिक)।

परिवर्तनीय नाम एक अक्षर से शुरू होने चाहिए और इसमें लैटिन अक्षर और संख्याएं शामिल हो सकती हैं। एक स्ट्रिंग प्रकार चर बनाने के लिए, आपको नाम के बाद एक डॉलर का चिह्न ($) लगाना होगा।

उदाहरण के लिए:

एक्स = 100 'संख्यात्मक चर एक्स $ = "हैलो" 'स्ट्रिंग चर'

अभिव्यक्तियाँ अधिकांश अन्य प्रक्रियात्मक प्रोग्रामिंग भाषाओं में अभिव्यक्तियों के समान हैं, लेकिन बेसिक के पहले संस्करणों में उनमें से कुछ ही थे। शुरुआती संस्करणों में, खोजशब्दों की संख्या 20 से कम थी (यह मूल की सुंदरता है))।

आपको सरल चर घोषित करने की आवश्यकता नहीं है। हम प्रोग्राम में कहीं भी वेरिएबल का नाम लिखते हैं, और बस। सच है, सरणियों को घोषित किया जाना चाहिए।

निम्नलिखित सबसे बुनियादी भाषा निर्माण हैं जिन्हें 1970 के दशक के अंत में लगभग किसी भी बुनियादी प्रणाली में लागू किया गया था (इनमें से कई निर्माण आधुनिक बुनियादी भाषा कार्यान्वयन द्वारा भी समर्थित हैं):

सूची
लाइनों के सही क्रम में प्रोग्राम के टेक्स्ट के मॉनिटर को आउटपुट।

दौड़ना
सबसे छोटी संख्या के साथ पंक्ति के पहले कथन से वर्तमान कार्यक्रम शुरू करें।

रेम
टिप्पणी। कीवर्ड के बाद और पंक्ति के अंत तक का टेक्स्ट एक टिप्पणी है। कई दुभाषिए एक टिप्पणी की शुरुआत के रूप में एकल उद्धरण " का समर्थन करते हैं। कुछ दुभाषिए केवल REM शब्द की अनुमति देते हैं यदि यह एक पंक्ति की शुरुआत में है।

इनपुट
मॉनिटर पर शीघ्र पाठ प्रदर्शित करता है और उपयोगकर्ता द्वारा एक मान दर्ज करने और ENTER दबाने की प्रतीक्षा करता है।

प्रिंट
मॉनिटर पर डेटा प्रदर्शित करता है (पाठ और चर मान)।

सीएलएस
स्क्रीन साफ़ करता है।

मंद
सरणी का विवरण। सामान्य चर के विपरीत, सरणियों को पहले से एक घोषणा की आवश्यकता होती है।

गोटो लेबल
लेबल के लिए बिना शर्त संक्रमण की कमान।

तो अगर …
साधारण शाखा संचालक। IF रखने के बाद बूलियन स्थिति, THEN के बाद एक स्टेटमेंट है जिसे निष्पादित किया जाना है यदि यह स्थिति सत्य है।

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

सहेजें
एक इंटरैक्टिव मोड कमांड जो वर्तमान प्रोग्राम को बाहरी मीडिया पर एक फ़ाइल में सहेजता है।

भार
एक इंटरेक्टिव मोड कमांड जो बाहरी मीडिया पर एक फाइल से एक प्रोग्राम को मेमोरी में लोड करता है। यह आमतौर पर पहले से लोड किए गए प्रोग्राम और डेटा को मेमोरी से हटा देता है।

बेसिक में उदाहरण कार्यक्रम:

10 सीएलएस "क्लियर स्क्रीन 20 प्रिंट" हैलो वर्ल्ड !!!" 30 एक्स = 100 "100 से एक्स 40 इनपुट असाइन करें" नंबर दर्ज करें: "; वाई 50 प्रिंट वाई; "*"; एक्स; "="; एक्स * वाई 60 END

बुनियादी दुभाषिए

सबसे प्रसिद्ध बेसिक दुभाषियों में से एक Microsoft का QBasic है। कई सालों तक यह मुफ़्त आया ऑपरेटिंग सिस्टमएमएस-डॉस और विंडोज। QBasic में उस समय के लिए अच्छे ग्राफिक्स और ध्वनि क्षमताएं थीं। इसलिए, QBasic पर भी गेम बनाए गए (मेरे एक मित्र ने ऐसा किया - चित्र में पसंद नहीं, लेकिन ऐसा कुछ))।


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

माइक्रोसॉफ्ट के विजुअल बेसिक के आगमन के साथ बेसिक को दूसरा जीवन मिला। लेकिन, इसकी लोकप्रियता के बावजूद, 2001 में माइक्रोसॉफ्ट ने विजुअल बेसिक के लिए और समर्थन छोड़ दिया (यदि मैं गलत नहीं हूं, नवीनतम संस्करणविज़ुअल बेसिक 6.5) मौलिक रूप से नई विज़ुअल बेसिक .NET भाषा के पक्ष में था, जहाँ भाषा को फिर से "फिर से खींचा" और "बदल" दिया गया था, जो क्रॉस-प्लेटफ़ॉर्म .NET तकनीक पर केंद्रित था, और इसकी वर्तमान स्थिति में व्यावहारिक रूप से इसके संदर्भ में मेल खाता है। सी # भाषा के साथ सुविधाओं का सेट। अंतर केवल वाक्य रचना और खोजशब्दों में हैं।

तो बेसिक शौकिया-गैर-पेशेवरों द्वारा प्रोग्राम बनाने के लिए एक टूल से प्रोग्राम बनाने के लिए एक पूर्ण टूल तक विकसित हुआ है।

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

कितने लोग, कितने विचार

यहां तक ​​कि उनके बेहतर समय(1970...1980 वर्ष) बेसिक की कड़ी आलोचना की गई (हालांकि, लगभग सभी अन्य प्रोग्रामिंग भाषाओं की तरह, हम आलोचना करना पसंद करते हैं)।

बेशक बेसिक में कई कमियां थीं। लेकिन वह ऐसा ही होना था! हाँ, खामियों के साथ। लेकिन दूसरी ओर, मानविकी के लिए भी यह सरल और समझने में आसान है।

मूल रूप से, पेशेवर प्रोग्रामर ने बेसिक टू स्मिथेरेन्स को तोड़ दिया क्योंकि इसकी सादगी और संरचना की कमी इस तथ्य की ओर ले जाती है कि नौसिखिए प्रोग्रामर, प्रोग्राम बनाने के लिए समय कम करने की खोज में, प्रोग्रामिंग के लिए "सही" दृष्टिकोण के बारे में पूरी तरह से भूल जाते हैं। सरल कार्यक्रम लिखते समय यह स्वीकार्य है, लेकिन गंभीर बड़ी परियोजनाओं पर काम करते समय लगभग हमेशा विफलता की ओर जाता है।

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

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

यदि हम आधुनिक बोलियों और बेसिक के कार्यान्वयन के बारे में बात करते हैं, तो वे भाषा के मूल रूप से इतनी दूर चले गए हैं कि उपरोक्त सभी को शायद ही उनसे संबंधित माना जा सकता है। BASIC की आधुनिक बोलियाँ काफी संरचित भाषाएँ हैं, वे क्षमताओं में C, पास्कल, आदि जैसी भाषाओं की तुलना में हैं।

मूल भाषा (यहां तक ​​​​कि इसका पहला कार्यान्वयन, जैसे QBasic) सीखने के लिए काफी उपयुक्त है, क्योंकि मेरे दृष्टिकोण से बाद में दूसरी भाषा सीखने में कोई समस्या नहीं है, यदि आवश्यक हो। शायद पिछली सदी के 60 के दशक में यह समस्या थी - मुझे नहीं पता (मेरा जन्म 1969 में हुआ था)। लेकिन अब - नहीं।

इसके अलावा, आज आपको फिर से प्रशिक्षित करने की भी आवश्यकता नहीं है, क्योंकि आप अपना खुद का बना सकते हैं शांत कार्यक्रम, उदाहरण के लिए, विजुअल बेसिक में।

बुनियादी(से बुनियादी, अंग्रेजी के लिए संक्षिप्त। शुरुआत करने वालों हेतु बहूद्देश्यीय प्रतीकात्मक अनुदेश कोड - शुरुआती के लिए प्रतीकात्मक निर्देशों के लिए एक सार्वभौमिक कोड) - उच्च स्तरीय प्रोग्रामिंग भाषाओं का एक परिवार।

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

विश्वकोश YouTube

  • 1 / 5

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

    जन्म

    वृद्धि

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

    विवरण

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

    BASIC के प्रारंभिक संस्करण (जैसे BASICA, GW-BASIC) आधुनिक बोलियों से काफी भिन्न हैं और आज व्यावहारिक रूप से उपयोग नहीं किए जाते हैं।

    प्रारंभिक संस्करण

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

    यह सब बेसिक में परिलक्षित होता है। प्रत्येक पंक्ति एक संख्या से शुरू होती है। जब संपादक में प्रवेश किया जाता है, तो रेखा कार्यक्रम के स्रोत कोड में उसकी संख्या के अनुरूप स्थिति में दिखाई देती है। एक नई पंक्ति सम्मिलित करने के लिए, एक संख्या के साथ एक पंक्ति जोड़ना आवश्यक था जो अन्य दो पंक्तियों की संख्या के बीच की सीमा में थी। लाइनों को "फैलाना" असंभव था यदि आसन्न संख्याओं के साथ लाइनों के बीच एक नई लाइन सम्मिलित करना आवश्यक था, तो आपको नंबरिंग में एक ब्रेक सुनिश्चित करने के लिए इन पंक्तियों को अन्य नंबरों के साथ फिर से दर्ज करना होगा (या विशेष RENUM कमांड का उपयोग करें, जो एक स्थिर चरण के साथ सभी पहले से दर्ज की गई पंक्तियों को फिर से क्रमांकित करता है, सभी जंप कमांड को सिंक्रोनाइज़ करता है)। कार्यक्रम के ऑनलाइन संपादन को सरल बनाने के लिए, यह 10 के चरण के साथ पंक्तियों को क्रमांकित करने का एक अभ्यास बन गया है - इससे लगभग सभी मामलों में पहले दर्ज की गई संख्याओं को बदले बिना नई लाइनें सम्मिलित करना संभव हो गया है। उदाहरण के लिए, पंक्तियों 20 और 30 के बीच तीसरी पंक्ति जोड़ने के लिए, आप पंक्ति संख्या 25 लिखेंगे। BASIC प्रोग्राम की एक विशिष्ट पंक्ति इस तरह दिखती थी:

    10 प्रिंट "हैलो, वर्ल्ड!"

    पहले से मौजूद लाइनों की संख्या को मैन्युअल रूप से बदलना असुरक्षित था, क्योंकि संख्याएँ GOTO स्टेटमेंट के लिए लेबल के रूप में काम करती थीं। पहले, बेसिक में इस ऑपरेटर के लिए केवल संख्यात्मक लेबल की अनुमति थी, और प्रत्येक पंक्ति पर एक अद्वितीय संख्या की उपस्थिति ने बिना शर्त उनमें से किसी के लिए कूदना संभव बना दिया। संख्यात्मक लेबल और सक्रिय उपयोग GOTO BASIC प्रोग्रामिंग में अपरिहार्य था, जिसने खराब कोड संरचना में योगदान दिया और बड़ी परियोजनाओं पर, स्वयं लेखकों को भ्रमित किया। मजाकिया शब्द "पास्ता प्रोग्रामिंग" (स्पेगेटी कोड) भी गढ़ा गया था, क्योंकि लगातार गोटो संक्रमण वाले कार्यक्रम का तर्क स्पेगेटी की प्लेट जैसा दिखता है।

    ऑपरेटर का टर्मिनेटर स्ट्रिंग का अंत था। एक पंक्ति में कई कथन रखने के लिए, आपको उनके बीच एक कोलन रखना होगा (भाषा के सभी कार्यान्वयनों में इसकी अनुमति नहीं थी)। अधिकांश बोलियों में परिवर्तनीय नामों में केवल एक अक्षर हो सकता है, जिसके बाद एक अंक जोड़ा जा सकता है, जिसने कोड की समझ में सुधार करने में भी योगदान नहीं दिया। एक स्ट्रिंग प्रकार चर बनाने के लिए, आपको नाम के बाद एक डॉलर का चिह्न ($) लगाना होगा। इस चिन्ह के बिना एक चर एक संख्यात्मक (अस्थायी बिंदु) चर था। संख्यात्मक प्रकार से संबंधित कई और संशोधक थे: प्रतिशत चिह्न (%) - एक पूर्णांक प्रकार, विस्मयादिबोधक चिह्न (!) - सामान्य परिशुद्धता, ऑक्टोथॉर्प (#) - डबल परिशुद्धता (फ़्लोटिंग पॉइंट डेटा के लिए, यानी दशमलव अंश) ) कुछ संस्करणों में, हो सकता है कि संख्यात्मक संशोधक लागू नहीं किए गए हों या उन सभी को लागू नहीं किया गया हो। अधिकांश कार्यक्रमों में, केवल मूल संख्यात्मक प्रकार का उपयोग किया जाता था।

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

    • सूची - मॉनिटर पर प्रोग्राम के टेक्स्ट को लाइनों के सही क्रम में प्रदर्शित करें। कार्यान्वयन के आधार पर, कमांड समर्थित पैरामीटर - लाइनों की श्रेणी जिसे आप आउटपुट करना चाहते हैं। कभी-कभी LLIST संस्करण का समर्थन किया जाता था - एक प्रिंटिंग डिवाइस के लिए आउटपुट।
    • RUN - सबसे छोटी संख्या के साथ लाइन के पहले स्टेटमेंट से करंट प्रोग्राम को रन करें। एक पैरामीटर का समर्थन किया जा सकता है - वह लाइन नंबर जिससे निष्पादन शुरू किया जाना चाहिए।
    • रेम - टिप्पणी। टेक्स्ट जो कीवर्ड के बाद और लाइन के अंत से पहले था, प्रोग्राम के निष्पादन को प्रभावित नहीं करता था। कई दुभाषियों ने एक टिप्पणी की शुरुआत के रूप में एकल उद्धरण " का भी समर्थन किया।
    • इनपुट "प्रॉम्प्ट:", वेरिएबल - टेक्स्ट "प्रॉम्प्ट:" प्रदर्शित करें और उपयोगकर्ता द्वारा एक मान दर्ज करने की प्रतीक्षा करें और एंटर दबाएं। उसके बाद, दर्ज किया गया मान वेरिएबल को लिखा जाएगा। सरलतम कार्यान्वयन में, INPUT प्रॉम्प्ट समर्थित नहीं था और इसे एक अलग PRINT स्टेटमेंट (नीचे देखें) में जारी किया जाना था।
    • प्रिंट "पाठ"; चर; चर; "पाठ" - मॉनिटर को क्रमिक रूप से सूचीबद्ध वस्तुओं (पाठ और चर मान) के लिए आउटपुट। कार्यान्वयन के आधार पर, विभाजकों को अलग तरह से माना जाता था: कुछ मामलों में, विभाजक ने कम से कम एक स्थान का उत्पादन किया, दूसरों में, मान एक पंक्ति में प्रदर्शित किए गए और विभाजकों को मैन्युअल रूप से जोड़ा जाना था। विभाजक ";" अगली पंक्ति में अनुवाद को दबाने का कार्य भी किया।
    • सीएलएस - टर्मिनल स्क्रीन को साफ़ करना। टर्मिनल के कार्यान्वयन, डिजाइन और संचालन के तरीके के आधार पर, टेक्स्ट कर्सर को या तो ऊपरी बाएँ या निचले बाएँ कोने में स्थानांतरित किया गया था।
    • एलईटी - असाइनमेंट (प्रारूप "एलईटी वैरिएबल = वैल्यू")। अधिकांश संस्करणों में, एलईटी ऑपरेटर का समर्थन किया गया था, लेकिन यह वैकल्पिक था - चर के लिए असाइनमेंट एलईटी के बिना लिखे गए थे)।
    • मंद - सरणी का विवरण। सामान्य चर के विपरीत, सरणियों को विवरण की आवश्यकता होती है। सरणी आयामों की अधिकतम संख्या केवल कार्यान्वयन द्वारा निर्धारित की गई थी
    • डेटा - प्रोग्राम टेक्स्ट में सीधे रखे गए डेटा का एक सेट (स्थिर या सरणी-स्थिर के अनुरूप)।
    • पढ़ें - डेटा सेट से पढ़ने का आदेश।
    • गोटो एलबीएल - एलबीएल लेबल करने के लिए बिना शर्त कूद आदेश।
    • ON… GOTO - कंप्यूटेड ट्रांज़िशन कमांड - ON के बाद एक परिकलित एक्सप्रेशन या वेरिएबल होना चाहिए था, और GOTO के बाद - कॉमा द्वारा अलग किए गए लेबल का एक सेट। व्यंजक का मान उस लेबल की संख्या दर्शाता है जिस पर जाना है।
    • अगर ... तब ... - सामान्य शाखा संचालक। IF के बाद, एक तार्किक स्थिति रखी जाती है, THEN के बाद, एक कथन जिसे निष्पादित किया जाना चाहिए यदि यह स्थिति सत्य है। रिकॉर्ड को छोटा करने के लिए, कई कार्यान्वयनों ने सम्मेलन का समर्थन किया - यदि THEN के बाद एक संख्या आती है, तो यह कूदने के लिए लेबल है, अर्थात "IF ... THEN 150" "IF ... THEN" के बराबर है। गोटो 150"। "IF...GOTO..." प्रपत्रों का भी समर्थन किया जा सकता है।
    • लूप वेरिएबल के लिए = स्टार्टवैल्यू टू एंडवैल्यू स्टेप स्टेप - लूप हेडर स्टेप के साथ। एक लूप शुरू करता है जिसमें वैरिएबल क्रमिक रूप से StartValue से EndValue तक के मानों की एक श्रृंखला से गुजरता है। लूप बॉडी को हेडिंग और नेक्स्ट कीवर्ड द्वारा सीमांकित किया जाता है। STEP भाग छोड़ा जा सकता है - इस मामले में चरण एक के बराबर था। जब LoopVariable निर्दिष्ट सीमा से बाहर चला जाता है, तो यह उपयुक्त NEXT स्टेटमेंट पर कूद जाता है।
    • अगला - एक चरण के साथ लूप बॉडी को पूरा करना। ऑपरेटर इंगित करता है कि वर्तमान निष्पादन योग्य के शीर्षक पर कूदना आवश्यक है पाश के लिएऔर काम करना जारी रखें। अधिक उन्नत कार्यान्वयन में, NEXT में लूप वेरिएबल्स की अल्पविराम से अलग की गई सूची हो सकती है - इसका मतलब यह है कि प्रोग्राम में दिए गए बिंदु पर, एक नहीं, बल्कि कई लूप समाप्त होते हैं। एक चर के साथ NEXT का उपयोग भी प्रोग्राम लॉजिक के उल्लंघन के खिलाफ बीमा करता है, क्योंकि यह एक रन-टाइम त्रुटि का कारण बनता है, अगर इस कमांड को निष्पादित करते समय, यह पता चला कि लूप एक चर पर सक्रिय था, जिसका नाम निर्दिष्ट किया गया था .
    • जबकि शर्त - पूर्व शर्त के साथ चक्र का शीर्षलेख। स्थिति झूठी होने पर लूप समाप्त हो गया। इस मामले में, शीर्षलेख के अनुरूप WEND कथन से परे एक संक्रमण था।
    • WEND - शरीर का समापन घुमाव के दौरान. NEXT के समान लेकिन एक पूर्व शर्त के साथ लूप के लिए।
    • GOSUB लेबल - लेबल से शुरू होने वाले सबरूटीन पर जाएं। रिटर्न तब होता है जब रिटर्न स्टेटमेंट पहुंच जाता है। रिकर्सिव प्रक्रिया कॉल को आम तौर पर मना किया गया था और इसके परिणामस्वरूप रन-टाइम त्रुटि हुई।
    • रिटर्न - सबरूटीन से रिटर्न स्टेटमेंट। सबरूटीन में कूदने वाले GOSUB निर्देश के बाद बयान में बिना शर्त छलांग लगाई जाती है।
    • अंत - कार्यक्रम निष्पादन का अंत। सिस्टम दुभाषिया में प्रवेश करता है और उपयोगकर्ता को कमांड दर्ज करने के लिए कहा जाता है।
    • चेन - बाहरी मीडिया से प्रोग्राम लाइनों की एक श्रृंखला लोड हो रही है।
    • OPEN - बाहरी मीडिया पर डेटा फ़ाइल खोलना।
    • बंद करें - बाहरी मीडिया पर डेटा फ़ाइल को बंद करना।
    • GET - फ़ाइल से निर्दिष्ट चर के मानों का अनुक्रमिक पठन, फ़ाइल पॉइंटर को अंतिम पढ़े गए वर्ण से आगे ले जाना।
    • PUT - किसी फ़ाइल में निर्दिष्ट चर के मानों का अनुक्रमिक लेखन, फ़ाइल सूचक को अंतिम लिखित वर्ण से आगे ले जाना।
    • DELETE - इंटरएक्टिव कमांड - निर्दिष्ट संख्या के साथ लाइन को हटा दें।
    • सेव - इंटरएक्टिव मोड कमांड - मौजूदा प्रोग्राम को बाहरी मीडिया पर फाइल में सेव करना।
    • लोड - इंटरएक्टिव मोड कमांड - बाहरी मीडिया पर एक फाइल से एक प्रोग्राम को मेमोरी में लोड करना। एक नियम के रूप में, डिफ़ॉल्ट रूप से, यह पहले से डाउनलोड किए गए प्रोग्राम और डेटा के विनाश का कारण बना।
    • RENUM - इंटरएक्टिव मोड कमांड - एक निर्दिष्ट चरण के साथ दी गई संख्या से शुरू होने वाली सभी या दी गई प्रोग्राम लाइनों की एक श्रृंखला को फिर से क्रमांकित करना। डिफ़ॉल्ट रूप से - प्रोग्राम की सभी पंक्तियों को 10 के चरण के साथ फिर से क्रमांकित किया जाता है।

    सशर्त ऑपरेटर (IF..THEN) की शुरुआत में केवल एक शाखा थी - इसमें ELSE शाखा अनुपस्थित थी और बिना शर्त छलांग का उपयोग करके मॉडलिंग की गई थी। तो, निम्नलिखित कार्यक्रम में, एक प्राथमिक ऑपरेशन किया जाता है - एक संख्या दर्ज करना और उसके मूल्य के आधार पर "नकारात्मक संख्या" या "सकारात्मक संख्या या शून्य" संदेश प्रदर्शित करना:

    10 इनपुट I 20 IF I >= 0 फिर "सकारात्मक संख्या या शून्य" प्रिंट करें: GOTO 40 30 प्रिंट "नकारात्मक संख्या" 40 END

    एक ON..GOTO कंप्यूटेड लेबल जंप ऑपरेटर था (एक समान फोरट्रान निर्माण से विरासत में मिला) - ON के बाद, एक संख्यात्मक अभिव्यक्ति निर्दिष्ट की गई थी, और GOTO के बाद, लाइन नंबरों की एक सूची। रेखा में संक्रमण हुआ, जिसकी सूची में संख्या अभिव्यक्ति के मूल्य से मेल खाती है। लूप भी हैं (एक काउंटर के साथ एक लूप और एक पूर्व शर्त के साथ एक लूप)।

    उपयोगकर्ता-परिभाषित कार्यों (कोड के अनुभाग, पुन: प्रयोज्य) का उपयोग दो तरीकों से संभव था: परिभाषित कार्य और सबरूटीन।

    सबरूटीन्स सी या पास्कल जैसी भाषाओं के कार्यों के अनुरूप नहीं थे, क्योंकि उनके पास नाम नहीं थे और वे पैरामीटर स्वीकार नहीं कर सकते थे और / या वापस नहीं कर सकते थे। पैरामीटर और परिणाम वैश्विक चर के माध्यम से पारित किए गए थे (बेसिक के शुरुआती संस्करणों में सभी चर वैश्विक थे)। सबरूटीन्स आमतौर पर मॉड्यूल के अंत में लिखे गए थे, जिनकी संख्या स्पष्ट रूप से नियोजित लाइनों की संख्या से अधिक थी (उदाहरण के लिए, सबरूटीन्स के एक ब्लॉक की संख्या 5000 से शुरू हो सकती है, भले ही प्रोग्राम में कुछ सौ लाइनें हों)। Subroutines में कोई शीर्षलेख या नाम नहीं था, और कोड के किसी अन्य भाग से अलग नहीं थे। सबरूटीन को कीवर्ड GOSUB . का उपयोग करके बुलाया गया था<метка>. यह व्यावहारिक रूप से GOTO का एक क्लोन है, केवल एक चीज़ को छोड़कर: कॉल पॉइंट पर वापसी स्वचालित रूप से तब होती है जब सबरूटीन में RETURN कीवर्ड पहुँच जाता है। GOSUB, GOTO की तरह, केवल खराब कोड संरचना में योगदान देता है, क्योंकि बड़ी संख्या में बिना शर्त कूद और सबरूटीन वाले प्रोग्राम के निष्पादन को ट्रैक करना मुश्किल था। पुनरावृत्ति की अनुमति नहीं थी।

    उपप्रोग्रामों को नाम देने में असमर्थता (और उन पर नियंत्रण स्थानांतरित करना), मापदंडों को पारित करने में असमर्थता, स्थानीय चर की अनुपस्थिति, बड़ी परियोजनाओं में केवल संख्यात्मक लेबल के उपयोग ने कोड में भ्रम पैदा किया और डिबगिंग को बहुत मुश्किल बना दिया।

    कुछ BASIC बोलियों में, प्रोग्राम के निष्पादन के दौरान सीधे कोड के साथ एक फ़ाइल लोड करना संभव था (वर्तमान एक अनलोड किया गया था) CHAIN ​​स्टेटमेंट का उपयोग करके। यह भाषा की सबसे उपयोगी विशेषताओं में से एक थी, क्योंकि इसने आपको एक बड़ी परियोजना को मॉड्यूल में विभाजित करने की अनुमति दी, उन्हें आवश्यकता के क्रम में बुलाया।

    आलोचना

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

    सर्वव्यापी बेसिक-आधारित प्रारंभिक प्रोग्रामिंग शिक्षा की तीखी आलोचना की गई है। Edsger Dijkstra के "विजिटिंग कार्ड्स" में से एक कथन था: " उन छात्रों को अच्छी प्रोग्रामिंग सिखाना व्यावहारिक रूप से असंभव है, जिनका BASIC से पूर्व संपर्क रहा है: संभावित प्रोग्रामर के रूप में वे पुनर्जनन की आशा से परे मानसिक रूप से विकृत हैं». (« जिन छात्रों ने पहले बेसिक का अध्ययन किया है, उनके लिए अच्छी प्रोग्रामिंग पढ़ाना लगभग असंभव है। प्रोग्रामर होने के नाते वे मानसिक रूप से अपंग हैं और उनके ठीक होने की कोई उम्मीद नहीं है।».)

    आलोचना के जवाब में, BASIC के अनुयायी ध्यान दें कि आलोचक उस भाषा को श्रेय देते हैं जो वे हैं नकारात्मक पक्ष, जिसे इसके दुरुपयोग के लिए जिम्मेदार ठहराया जाना चाहिए। बेसिक के नुकसान (यदि हम प्रारंभिक बोलियों को ध्यान में रखते हैं) तब प्रकट होते हैं जब पेशेवर रूप से जटिल और बड़े कार्यक्रमों को विकसित करने की कोशिश करते हैं और प्रोग्रामर को पढ़ाने के लिए इसे आधार भाषा के रूप में उपयोग करते हैं, लेकिन यह भाषा इनमें से किसी भी एप्लिकेशन के लिए अभिप्रेत नहीं थी; इसका मुख्य कार्य छात्रों को प्रदान करना था- नान प्रोग्रामर्सअवसर के बाद न्यूनतमअपने दम पर लिखना सीखना प्रोटोजोआकार्यक्रमों खुद की जरूरतों के लिएताकि इस काम के लिए विशेषज्ञों का ध्यान न भटके। भाषा इस कार्य के लिए काफी उपयुक्त है।

    यदि हम आधुनिक बोलियों और बेसिक के कार्यान्वयन के बारे में बात करते हैं, तो वे भाषा के मूल रूप से इतनी दूर चले गए हैं कि उपरोक्त सभी को शायद ही उनसे संबंधित माना जा सकता है। BASIC की आधुनिक बोलियाँ काफी संरचित भाषाएँ हैं, वे क्षमताओं में C, पास्कल, आदि जैसी भाषाओं की तुलना में हैं।

    निर्माता -) मानक

    • एएनएसआई X3.60-1978 "न्यूनतम बुनियादी के लिए"
    • आईएसओ/आईईसी 6373:1984 "डेटा प्रोसेसिंग - प्रोग्रामिंग भाषाएं - न्यूनतम बुनियादी"
    • एएनएसआई X3.113-1987 "प्रोग्रामिंग भाषाएं पूर्ण बुनियादी"
    • GOST 27787-88 बुनियादी प्रोग्रामिंग भाषा (आईएसओ 6373:1984 शामिल है)
    • INCITS/ISO/IEC 10279-1991  (R2005)  "सूचना प्रौद्योगिकी- प्रोग्रामिंग भाषाएं- पूर्ण बेसिक"
    • एएनएसआई X3.113 व्याख्याएं-1992 "बुनियादी तकनीकी सूचना बुलेटिन # 1 एएनएसआई 03.113-1987 की व्याख्या"