वर्तमान में किस भाषा में प्रोग्राम किया जा रहा है? उज्ज्वल भविष्य के साथ पांच आशाजनक प्रोग्रामिंग भाषाएं

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

  • अनुवाद

यदि हम प्रोग्रामिंग भाषाओं को लोकप्रियता के आधार पर विभाजित करते हैं, तो वे तीन सोपानकों में विभाजित हो जाते हैं। पहले स्तर में जावा, जावास्क्रिप्ट, पायथन, रूबी, पीएचपी, सी #, सी ++, और ऑब्जेक्टिव-सी जैसी मुख्यधारा की भाषाएं शामिल हैं। हालाँकि कुछ प्रमुख भाषाएँ लुप्त होती जा रही हैं, यदि आप आसानी से नौकरी पाने में सक्षम होना चाहते हैं, तो आप उनमें से एक या अधिक को बेहतर ढंग से जान सकते हैं।


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


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


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

होनहार भाषाएँ: ये पाँच क्यों?

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


इसलिए इन पांच भाषाओं को इस सूची के लिए चुना गया:


एल्म जावास्क्रिप्ट समुदाय में लोकप्रियता प्राप्त कर रहा है, मुख्य रूप से उन लोगों के बीच जो कार्यात्मक प्रोग्रामिंग पसंद करते हैं, जो बढ़ रहा है। टाइपस्क्रिप्ट या डार्ट की तरह, एल्म को जावास्क्रिप्ट में स्थानांतरित कर दिया गया है।


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


कोटलिन को लगभग पांच साल हो गए हैं, लेकिन इस साल यह उत्पादन के लिए तैयार संस्करण 1.0 पर पहुंच गया। हालांकि यह अभी तक स्कैला, ग्रूवी या क्लोजर की लोकप्रियता तक नहीं पहुंचा है - जेवीएम के तहत तीन सबसे लोकप्रिय और परिपक्व (जावा की गिनती नहीं) भाषाएं - यह कई अन्य जेवीएम भाषाओं से अलग है और इसकी जगह लेने के लिए तैयार है। इस समूह के नेताओं के बीच .. भाषा की उत्पत्ति JetBrains (लोकप्रिय IntelliJ IDEA IDE के निर्माता) में हुई। तो इसे डेवलपर उत्पादकता पर ध्यान देने के साथ डिज़ाइन किया गया है।


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


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


अब एक नज़र डालते हैं कि इन पाँच भाषाओं में से चार कैसे लोकप्रियता की सीढ़ी चढ़ रही हैं (StackOverflow और GitHub डेटा पर आधारित):




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

एल्म

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

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

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

Kotlin

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

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

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

  • डिफ़ॉल्ट रूप से शून्य सुरक्षित:कोटलिन प्रकार डिफ़ॉल्ट रूप से गैर-शून्य हैं, जो कष्टप्रद अशक्त संदर्भ/सूचक अपवादों से बचा जाता है।
  • प्रथम श्रेणी प्रतिनिधिमंडल:एक वर्ग के सदस्य की कार्यक्षमता को बाहरी कार्य में सौंपने की क्षमता, जो पुन: उपयोग की सुविधा प्रदान करती है और संरचना में सुधार करती है।
  • समझौते:सम्मेलनों का एक सेट जो आपको अभिव्यंजक कोड लिखने की अनुमति देता है, एक दृढ़ता से टाइप किए गए डीएसएल के लिए मार्ग प्रशस्त करता है जो पठनीयता में सुधार करता है और रिफैक्टरिंग को सरल करता है।
    html (शीर्षक (शीर्षक (+"XML एन्कोडिंग के साथ कोटलिन")) बॉडी (p (+ "यह कुछ HTML है")))

वास्तविक परियोजनाओं में पांच साल से अधिक के विकास और व्यापक परीक्षण के बाद फरवरी 2016 में कोटलिन 1.0 जारी किया गया था। वर्तमान में कोटलिन का उपयोग करने वाले दस से अधिक JetBrains उत्पाद हैं। इसका उपयोग एमेक्स, एनबीसी डिजिटल, एक्सपीडिया और ग्रैडल जैसी कंपनियों द्वारा भी किया जाता है।


अधिक जानकारी के लिए देखें kotlinlang.org


यह खंड लिखा गया था

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

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

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

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

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

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

2. वे कौन से आवश्यक कारक हैं जो इस बात की गारंटी देते हैं कि भाषा को उत्पादन में इस्तेमाल किया जा सकता है और किया जाना चाहिए?

इगोर ज़िल्बर्ग, स्मार्टहेड
इस दुनिया में कोई भी और कुछ भी गारंटी नहीं देता है। हम अपने अनुभव और सामान्य सर्वोत्तम अभ्यास पर भरोसा करते हैं।

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

ग्रिगोरी निकोनोव, एक्टिस वंडरमैन
"परिपक्व" विषय पुस्तकालयों और ढांचे की उपस्थिति, समस्याओं को हल करने पर सलाह देने वाला एक सक्रिय ऑनलाइन समुदाय, अंतिम आवेदन की स्थिरता और प्रदर्शन के बारे में नकारात्मक समीक्षाओं की अनुपस्थिति।

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

एलेक्सी फेडोरोव, "सहपाठियों"
एक औपचारिक गारंटी केवल एक अनुबंध द्वारा समर्थित हो सकती है। यदि कोई गंभीर विक्रेता (उदाहरण के लिए, Oracle, SAP, IBM) है जो गारंटी देता है, उदाहरण के लिए, कि इसकी तकनीक अगले 10 वर्षों के लिए समर्थित होगी, और इस विक्रेता के साथ एक उपयुक्त समर्थन अनुबंध पर हस्ताक्षर किए गए हैं, तो, सिद्धांत रूप में , आप इसे किसी प्रकार की गारंटी मान सकते हैं। समस्या यह है कि यह आमतौर पर बहुत महंगा होता है, और बड़े विक्रेताओं से समर्थन की गुणवत्ता आमतौर पर घृणित होती है।

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

3. यदि कोई डेवलपर या यहां तक ​​कि कई डेवलपर्स प्रोग्रामिंग भाषा में बदलाव का प्रस्ताव रखते हैं, तो कैसे कार्य करें, लेकिन स्थिति से पता चलता है कि उनकी उत्तेजना प्रौद्योगिकी के लिए पर्याप्त व्यावसायिक आवश्यकताओं द्वारा समर्थित नहीं है?

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

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

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

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

एलेक्सी फेडोरोव, "सहपाठियों"
सबसे पहले, किसी को यह पूछना चाहिए कि भाषा बदलने के विचार का औचित्य क्या है। यह क्या देगा? पेशेवरों क्या हैं और विपक्ष क्या हैं? इस तरह के संक्रमण की लागत क्या है और समय सीमा क्या है? उसके खतरे क्या हैं?

यदि आपको प्राप्त होने वाले उत्तर व्यावसायिक दृष्टिकोण से आपके अनुकूल हैं, तो आगे बढ़ें। यदि आप संतुष्ट नहीं हैं, तो आपको डेवलपर्स को यह बताने की कोशिश करनी होगी कि आपने उन्हें मना क्यों किया।

4. एक भाषा से दूसरी भाषा में स्विच करने की लागत कब लायक है?

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

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

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

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

एलेक्सी फेडोरोव, "सहपाठियों"
जब आपके और आपके सहयोगियों के पास उपरोक्त प्रश्नों के स्पष्ट उत्तर हों।

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

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

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

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

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

हर साल, प्रत्येक नई भाषा "सर्वश्रेष्ठ" की प्रशंसा प्राप्त करती है और डेवलपर्स को आकर्षित करती है, लेकिन अभी तक, सिद्ध भाषाओं की स्थिति शायद अडिग है। भविष्य में सब कुछ संभव है।

एलेक्सी फेडोरोव, "सहपाठियों"
हमारे लिए ज्ञात अधिकांश आधुनिक प्रोग्रामिंग भाषाएँ बहुक्रियाशील हैं, अर्थात वे बहुत भिन्न निर्णय ले सकती हैं।

एक नई भाषा के लिए - हाँ, ऐसी भाषा दिखाई दे सकती है, लेकिन, उद्योग की काफी मजबूत जड़ता के कारण, मुझे नहीं लगता कि अगले 5 वर्षों में कोई जावा और सी / सी ++ को पैडस्टल से हटा देगा। यदि आप किसी प्रकार का "घोड़ा" चुनते हैं, तो मैं जावास्क्रिप्ट पर दांव लगाऊंगा। आज हम जावास्क्रिप्ट से संबंधित हर चीज में उद्योग में भारी वृद्धि देखते हैं। फ्रेमवर्क बारिश के बाद मशरूम की तरह पैदा होते हैं। इस तकनीक के इर्द-गिर्द इंटरनेट पर प्रचार बहुत बड़ा है। आइए देखें कि यह सब कहां जाता है।

6. क्या एक प्रोग्रामर को DevOps (प्रोग्रामर और सिस्टम एडमिनिस्ट्रेटर का कौशल रखने वाला) होना चाहिए? इस तथ्य का क्या करें कि अधिकांश प्रोग्रामर इस क्षेत्र में दक्षता विकसित करने और जिम्मेदारी लेने से इनकार करते हैं?

एलेक्सी फारसोव, मिखाइल परफेन्युक, एडीवी
परिवेश को कॉन्फ़िगर करने के लिए, वे आमतौर पर सिस्टम व्यवस्थापक की सेवाओं का उपयोग करते हैं। लेकिन, शायद, यह समझ में आता है कि कोड लिखने वाला व्यक्ति इस कोड के इष्टतम निष्पादन के लिए साइट सेट करने में सक्षम होना चाहिए। इससे समय और लागत की बचत होगी।

7. क्या आपको अपनी परियोजनाओं में माइक्रोसर्विसेज का उपयोग करना चाहिए?

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

8. क्या एक डेवलपर को आधुनिक वेब प्रौद्योगिकियों और भाषाओं की एक विस्तृत श्रृंखला के साथ काम करने में सक्षम होना चाहिए?

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

रिपोर्ट का शीर्षक

आधुनिक प्रोग्रामिंग भाषाएं और उनका उपयोग

परियोजना लेखक

परियोजना संरचना

● प्रोग्रामिंग भाषा वर्गीकरण योजना

प्रोग्रामिंग भाषाओं का वर्गीकरण

● प्रोग्रामिंग भाषाओं का अवलोकन

● उपयोगी संसाधन

प्रोग्रामिंग भाषा वर्गीकरण योजना

प्रोग्रामिंग भाषाओं का वर्गीकरण

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

प्रक्रियात्मक प्रोग्रामिंग की ऐसी भाषाएँ हैं:

फोरट्रान भाषा 20वीं सदी के शुरुआती 50 के दशक में वैज्ञानिक और तकनीकी समस्याओं की प्रोग्रामिंग के लिए बनाई गई थी;

कोबोल - विभिन्न डेटा वाहकों पर संग्रहीत बड़ी मात्रा में डेटा को संसाधित करने की समस्याओं को हल करने के लिए 20 वीं शताब्दी के उत्तरार्ध में 60 के दशक में बनाया गया;

अल्गोल (1960) एक बहुउद्देश्यीय उन्नत प्रोग्रामिंग भाषा है। इसने पहली बार "प्रोग्राम ब्लॉक स्ट्रक्चर" और "डायनेमिक मेमोरी एलोकेशन" की अवधारणाओं को पेश किया;

20वीं सदी के 60 के दशक के मध्य में, शुरुआती लोगों के लिए एक विशेष प्रोग्रामिंग भाषा बनाई गई - बेसिक। यह विकास में आसानी और वैज्ञानिक, तकनीकी और आर्थिक समस्याओं के साथ-साथ कार्यों, उदाहरण के लिए, खेलों को हल करने के लिए सार्वभौमिक उपकरणों की उपलब्धता की विशेषता है।

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

1963-1966 में, बहुउद्देश्यीय सार्वभौमिक भाषा PL-1 बनाई गई थी। यह भाषा कम्प्यूटेशनल प्रक्रियाओं, मॉडलिंग, तार्किक समस्याओं को हल करने और सॉफ्टवेयर सिस्टम विकसित करने के अध्ययन और योजना के लिए उपयुक्त है।

पास्कल भाषा (PASCAL) (1968-1971) पीसी के लिए सबसे लोकप्रिय प्रक्रियात्मक प्रोग्रामिंग भाषा है, जिसका अभी भी सफलतापूर्वक उपयोग किया जाता है। पास्कल भाषा सामान्य कार्य से विशिष्ट (सरल और छोटी मात्रा में) के दृष्टिकोण पर आधारित है। पास्कल के मुख्य सिद्धांतों में शामिल हैं: क) स्ट्रक्चरल प्रोग्रामिंग, जो सबरूटीन्स और स्वतंत्र डेटा संरचनाओं के उपयोग पर आधारित है; बी) टॉप-डाउन प्रोग्रामिंग, जब कार्य को सरल, स्वतंत्र रूप से हल किए गए कार्यों में विभाजित किया जाता है। फिर मूल समस्या का समाधान ऊपर से नीचे तक पूरी तरह से बनाया जाता है।

प्रक्रियात्मक प्रोग्रामिंग भाषाओं में एडीए भाषा (1979) शामिल है। भाषा का नाम पहले प्रोग्रामर, एडा लवलेस, बायरन की बेटी के नाम पर रखा गया है। यह डिजाइनों की प्रतिरूपकता द्वारा प्रतिष्ठित है।

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

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

एक अन्य मौलिक अवधारणा वर्ग है। एक वर्ग एक टेम्पलेट है जिससे एक विशेष प्रोग्राम ऑब्जेक्ट बनाया जा सकता है, यह उन गुणों और विधियों का वर्णन करता है जो इस वर्ग की वस्तुओं के व्यवहार को निर्धारित करते हैं। प्रत्येक विशिष्ट वस्तु जिसमें इस वर्ग की संरचना होती है, उसे वर्ग का उदाहरण कहा जाता है।

OOP के अगले सबसे महत्वपूर्ण सिद्धांत वंशानुक्रम और बहुरूपता हैं। वंशानुक्रम मौजूदा वर्गों के आधार पर नए वर्गों के निर्माण के लिए प्रदान करता है और वंशज वर्ग को मूल वर्ग के सभी गुणों को प्राप्त करने (विरासत) करने की अनुमति देता है।

बहुरूपता का अर्थ है कि जन्म लेने वाली वस्तुओं के बारे में जानकारी होती है कि उन्हें किस तरीके का उपयोग करना चाहिए, इस पर निर्भर करता है कि वे श्रृंखला में कहां हैं।

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

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

घोषणात्मक प्रोग्रामिंग भाषाएं

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

प्रोग्रामिंग भाषाओं का अवलोकन

कोडांतरक

कंप्यूटर प्रोग्रामिंग भाषाओं को 2 मुख्य समूहों में बांटा गया है:

1) निम्न-स्तरीय भाषाएं;

2) उच्च स्तरीय भाषाएं।

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

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

पास्कल

पास्कल प्रोग्रामिंग भाषा को 1968 में स्विस फेडरल इंस्टीट्यूट ऑफ टेक्नोलॉजी में कंप्यूटर साइंस विभाग के प्रोफेसर निकोलस विर्थ द्वारा मौजूदा और तेजी से जटिल प्रोग्रामिंग भाषाओं जैसे पीएल / 1, अल्गोल, फोरट्रान के विकल्प के रूप में विकसित किया गया था। पास्कल के गहन विकास ने संशोधित संदेश के रूप में अपने मानक के पहले से ही 1973 में उपस्थिति का नेतृत्व किया, और 1979 में इस भाषा के अनुवादकों की संख्या 80 से अधिक हो गई। 80 के दशक की शुरुआत में, पास्कल ने इसके आगमन के साथ अपनी स्थिति को और मजबूत किया। एमएस-पास्कल और टर्बो अनुवादक - पीसी के लिए पास्कल। उस समय से, पास्कल सबसे महत्वपूर्ण और व्यापक रूप से उपयोग की जाने वाली प्रोग्रामिंग भाषाओं में से एक बन गई है। यह आवश्यक है कि भाषा लंबे समय से अकादमिक और संकीर्ण व्यावसायिक रुचि के दायरे से बाहर हो गई है और इसका उपयोग अत्यधिक विकसित देशों के अधिकांश विश्वविद्यालयों में न केवल उपयोगकर्ता के लिए काम करने वाले उपकरण के रूप में किया जाता है। पास्कल की सबसे महत्वपूर्ण विशेषता संरचित प्रोग्रामिंग का सन्निहित विचार है। एक अन्य आवश्यक विशेषता मौलिक अवधारणाओं में से एक के रूप में डेटा संरचना की अवधारणा है।

पास्कल की लोकप्रियता के मुख्य कारण इस प्रकार हैं:

भाषा की सादगी आपको इसे जल्दी से मास्टर करने और एल्गोरिथम रूप से जटिल प्रोग्राम बनाने की अनुमति देती है।

डेटा संरचनाओं का प्रतिनिधित्व करने के विकसित साधन संख्यात्मक और प्रतीकात्मक और बिट जानकारी दोनों के साथ काम करने की सुविधा प्रदान करते हैं

पास्कल से कंपाइलर बनाने के लिए विशेष तरीकों की उपस्थिति ने उनके विकास को सरल बनाया और भाषा के व्यापक प्रसार में योगदान दिया

पास्कल के कंपाइलरों के अनुकूलन गुण आपको कुशल प्रोग्राम बनाने की अनुमति देते हैं। यह एक कारण था कि पास्कल को सिस्टम प्रोग्रामिंग भाषा के रूप में क्यों इस्तेमाल किया गया था।

पास्कल भाषा संरचित प्रोग्रामिंग के विचारों को लागू करती है, जो कार्यक्रम को दृश्य बनाती है और विकास और डिबगिंग के अच्छे अवसर प्रदान करती है।

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

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

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

सी एक शक्तिशाली और लचीली भाषा है। अधिकांश यूनिक्स ऑपरेटिंग सिस्टम, फोरट्रान, पास्कल, लिस्प और बेसिक के लिए कंपाइलर और दुभाषिए इसके साथ लिखे गए हैं।

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

सी ++ भाषा 80 के दशक की शुरुआत में दिखाई दी। खुद को और अपने दोस्तों को असेंबली, सी, या विभिन्न अन्य उच्च-स्तरीय भाषाओं में प्रोग्रामिंग से बचाने के मूल लक्ष्य के साथ बजेर्न स्ट्रॉस्ट्रुप द्वारा बनाया गया।

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

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

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

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

वर्षों से संचित फोरट्रान कार्यक्रमों के विशाल धन का अस्तित्व, साथ ही बड़ी संख्या में प्रोग्रामर की उपस्थिति जो इस भाषा का प्रभावी ढंग से उपयोग करते हैं;

सभी प्रकार के कंप्यूटरों पर प्रभावी फोरट्रान अनुवादकों की उपस्थिति, और विभिन्न मशीनों के संस्करण काफी मानकीकृत हैं और प्रोग्राम को मशीन से मशीन में स्थानांतरित करने में आमतौर पर कोई बड़ी कठिनाई नहीं होती है;

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

पिछली अवधि में, एक नई प्रोग्रामिंग पद्धति और दर्शन का गठन किया गया है। 70 के दशक की शुरुआत से, फोरट्रान को अच्छी तरह से आलोचना के अधीन किया गया है। 1977 में, एक नया भाषा मानक, फोरट्रान-77, अपनाया गया था। एक नया मानक बनाने में बहुत समय लगा, लेकिन अब हम पहले से ही विचार कर सकते हैं कि इसका विकास पूरा हो चुका है और नए फोरट्रान -90 मानक ने फोरट्रान उपयोगकर्ताओं के अभ्यास में प्रवेश करना शुरू कर दिया है। केवल आईबीएम पीसी जैसी मशीनों पर, कई अनुवादक हैं जैसे कि वाटफोर, लैप-फोरट्रान, आदि। लेकिन इस प्रकार की मशीनों पर सबसे व्यापक रूप से फोरट्रान -77 अनुवादक के विभिन्न संस्करण हैं। 1990 में जारी, MS-Fortran 5.0 अनुवादक फोरट्रान-90 मानक के लगभग पूरी तरह से अनुरूप है। अधिकांश प्रमुख वैज्ञानिक और तकनीकी अनुप्रयोग फोरट्रान में इसकी सुवाह्यता और स्थिरता के कारण, और अंतर्निहित गणितीय और त्रिकोणमितीय कार्यों के कारण भी लिखे गए हैं। किसी भी फोरट्रान एप्लिकेशन प्रोग्राम का एक अतिरिक्त, अभिन्न अंग एक विस्तारित ग्राफिक लाइब्रेरी है जो आपको विभिन्न ग्राफिक डेटा और छवियों का उपयोग करने की अनुमति देता है।

तथाकथित एम्बेडेड सिस्टम (यानी स्वचालित परिसरों के लिए रीयल-टाइम कंट्रोल सिस्टम) के लिए एक प्रोग्रामिंग भाषा विकसित करने के लिए अमेरिकी रक्षा विभाग द्वारा शुरू की गई एक भव्य परियोजना के परिणामस्वरूप भाषा मुख्य रूप से 1 975 - 1 9 80 में बनाई गई थी। सबसे पहले, उन्होंने सैन्य सुविधाओं (जहाजों, विमानों, टैंकों, मिसाइलों, गोले, आदि) के लिए जहाज पर नियंत्रण प्रणाली को ध्यान में रखा। इसलिए अदा के लेखकों द्वारा लिए गए निर्णयों को सार्वभौमिक नहीं माना जाना चाहिए। उन्हें चुने हुए विषय क्षेत्र की विशेषताओं के संदर्भ में माना जाना चाहिए। एडा की भाषा 1978-1979 में आयोजित भाषा परियोजनाओं के लिए एक अंतरराष्ट्रीय प्रतियोगिता के परिणामस्वरूप उत्पन्न हुई। प्रतिभागियों को अमेरिकी रक्षा विभाग के तत्वावधान में विकसित बल्कि कठिन, विस्तृत आवश्यकताओं को पूरा करना था। दिलचस्प बात यह है कि इस प्रतियोगिता के अंतिम दौर में पहुंचने वाली सभी भाषाएं पास्कल पर आधारित थीं। इस संबंध में, एडा को अस्थायी रूप से उपरोक्त पांच बुनियादी आवश्यकताओं को ध्यान में रखते हुए विकसित पास्कल के रूप में वर्णित किया जा सकता है। उसी समय, लेखक मुख्य रूप से नए तत्वों के साथ पास्कल के विस्तार के मार्ग पर चले गए। परिणाम बहुत अधिक जटिल भाषा है।

कोबोल

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

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

PL/1 को IBM द्वारा 1964-1965 में विकसित किया गया था। पीएल / 1 सार्वभौमिक भाषाओं में से एक है, अर्थात, यह विभिन्न क्षेत्रों से समस्याओं को हल करने की अनुमति देता है: संख्यात्मक गणना, पाठ प्रसंस्करण, आर्थिक समस्याएं, आदि। अपनी क्षमताओं के संदर्भ में, यह फोरट्रान, अल्गोल -60 जैसी भाषाओं को ओवरलैप करता है। (संख्यात्मक गणना के लिए बनाया गया), कोबोल (आर्थिक समस्याओं के लिए), हालांकि कई कारणों से पीएल/1 इन भाषाओं को विस्थापित नहीं कर सका।

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

साथ ही, PL/1 में भी कई कमियाँ हैं जो भाषा को सीखना और उपयोग करना कठिन बना देती हैं। मुख्य इस प्रकार हैं। सबसे पहले, ऐसे कई साधन हैं जो एक दूसरे की नकल करते हैं; दूसरे, कार्यक्रम पूरी तरह से मशीन-स्वतंत्र नहीं हैं।

मोडुला

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

बुनियादी

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

शक्तिशाली बेसिक कंपाइलर विकसित किए गए हैं जो न केवल एक समृद्ध शब्दावली और उच्च प्रदर्शन प्रदान करते हैं, बल्कि संरचित प्रोग्रामिंग की संभावना भी प्रदान करते हैं। कुछ प्रोग्रामर के अनुसार, सबसे दिलचस्प संस्करण GWBASIC, Turbo-Basic और Quick Basic हैं।

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

तुतलाना

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

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

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

प्रस्ताव

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

वस्तु पाल

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

ऑब्जेक्ट पाल का उपयोग स्टैंडअलोन प्रोग्राम बनाने के लिए एक उपकरण के रूप में किया जा सकता है। आप एक पूर्ण विंडोज एप्लिकेशन लिख सकते हैं और इसे पैराडॉक्स के तहत चला सकते हैं।

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

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

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

जावा भाषा प्रौद्योगिकी में तीन प्रमुख तत्व एक साथ आ रहे हैं

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

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

जावा प्रोग्रामर को विंडोिंग, नेटवर्किंग और I/O में उपयोग किए जाने वाले कई सिस्टम फ़ंक्शंस को स्पष्ट रूप से अमूर्त करने के लिए ऑब्जेक्ट क्लास का एक समृद्ध सेट प्रदान करता है। इन वर्गों की प्रमुख विशेषता यह है कि वे विभिन्न प्रकार के सिस्टम इंटरफेस के लिए प्लेटफॉर्म-स्वतंत्र सार प्रदान करते हैं।

कंप्यूटर नेटवर्क के लिए प्रोग्रामिंग भाषाएं

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

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

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

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

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

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

भाषा वीआरएमएल(1994) इंटरनेट पर वर्चुअल थ्री-डायमेंशनल इंटरफेस को व्यवस्थित करने के लिए बनाया गया था।

भाषा एक्सएमएल. 1996 से, एक सार्वभौमिक दस्तावेज़ संरचना भाषा बनाने के लिए काम चल रहा है। यह HTML भाषा का प्रतिस्थापन बन सकता है।

निष्कर्ष

उपयोगी संसाधन

इसिली की समीक्षा

रिपोर्ट कहां है?

Ranifka . द्वारा समीक्षित

पुन: रिपोर्ट कहां है?
सब कुछ होगा :D

शमागुलोवा एलीट से प्रतिक्रिया

अलेक्जेंडर मिशिन द्वारा समीक्षित

बेहतरीन रिपोर्ट। प्रोग्रामिंग भाषाओं के बारे में बहुत कुछ सीखा।

अलेक्जेंडर मोरोज़ोव से प्रतिक्रिया

बेशक, मैं किसी रूप में एक रिपोर्ट या कम से कम एक प्रस्तुति देखना चाहता हूं।

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

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

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

2017 के लिए प्रोग्रामिंग और भाषाओं के आशाजनक क्षेत्र

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

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

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

कौन सी भाषा चुननी है

यह कहना असंभव है कि कौन सी भाषा सबसे आधुनिक है। उनमें से कई बहुत व्यापक रूप से और सक्रिय रूप से उपयोग किए जाते हैं। लेकिन अगर हम आशाजनक प्रोग्रामिंग भाषाओं के बारे में बात कर रहे हैं, तो निम्नलिखित को सर्वश्रेष्ठ कहा जा सकता है:

  • जावा। सबसे बहुमुखी और लोकप्रिय प्रोग्रामिंग भाषा जिसके साथ आप कंप्यूटर और गैजेट दोनों के लिए एप्लिकेशन विकसित कर सकते हैं, विशेष रूप से Android नियंत्रणओएस. इसका एक स्पष्ट सिंटैक्स है, काफी आसानी से और जल्दी से सीखता है, जावा में पहला प्रोग्राम प्रशिक्षण शुरू होने के कुछ सप्ताह बाद ही लिखा जा सकता है। मुख्य विशेषता जो इसे बहुत आशाजनक बनाती है वह है एंड्रॉइड प्रोग्रामिंग के लिए उपयोग, जो अब बहुत तेजी से विकसित हो रहा है;
  • सी#। एक ऐसे व्यक्ति के लिए एक बढ़िया विकल्प जो अपनी गतिविधियों को कंप्यूटर सिस्टम के लिए प्रोग्राम लिखने के लिए समर्पित करना चाहता है। यह सी शार्प लैंग्वेज (सी#) है जो कि माइक्रोसॉफ्ट के विभिन्न प्लेटफॉर्म और सेवाओं के लिए अधिकांश प्रोग्राम लिखे जाने का आधार है। इसके साथ, आप .NET और Azure का उपयोग करके वेब एप्लिकेशन विकसित कर सकते हैं, साथ ही सीधे विंडोज़ के लिए प्रोग्राम, विभिन्न व्यावसायिक एप्लिकेशन और कई अन्य चीजें भी विकसित कर सकते हैं। अपने सिर को सी # के आसपास लाने में थोड़ा सा काम लगता है, लेकिन यह अंत में भुगतान करता है;
  • पीएचपी। यदि आपका काम इंटरनेट संसाधनों के लिए उच्च गुणवत्ता वाली स्क्रिप्ट और इंटरेक्टिव टेम्प्लेट लिखना है या किसी सर्वर का व्यवस्थापक बनना है, जो अब एक बहुत ही लाभदायक व्यवसाय है, तो PHP सबसे अच्छा तरीकाऐसी आकांक्षा को साकार करो। आधुनिक प्रोग्रामिंग भाषाएं इस प्रतिनिधि के बिना बस नहीं कर सकतीं। वह बहुत जल्दी और आसानी से सीखता है - यदि आप ध्यान से और नियमित रूप से PHP का अध्ययन करते हैं, तो 2-3 वर्षों के बाद आप बहुत अच्छी स्थिति और उचित वेतन के लिए आवेदन कर सकते हैं।

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

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

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

तीव्र

आईओएस और ओएस एक्स विकास के लिए ऐप्पल द्वारा बनाई गई एक सामान्य-उद्देश्य मुक्त भाषा। भाषा ऑब्जेक्टिव-सी के साथ संगत है, जिससे एक प्रोग्राम में दोनों भाषाओं का उपयोग करना संभव हो जाता है। ऐप्पल के विकास के प्रमुख क्रिस लैटनर के नेतृत्व में 2010 में भाषा का विकास शुरू हुआ। स्विफ्ट ने कई मौजूदा भाषाओं से विभिन्न दिशाओं में विचारों को उधार लिया: सी ++ से हास्केल तक। भाषा का आधिकारिक परिचय जून 2014 में हुआ था, इसके उपयोग के लिए 500-पृष्ठ मैनुअल के साथ। आप आईओएस के लिए एक्सकोड 6 प्रोग्रामिंग वातावरण में स्विफ्ट पर काम कर सकते हैं। भाषा संस्करण 3.0 लिनक्स के लिए समर्थन जोड़ता है।
उद्देश्य-सी से भाषा ने बहुत कुछ लिया; साथ ही, यह सुरक्षित और तेज़ के रूप में स्थित है। डेवलपर्स के आश्वासन के अनुसार, स्विफ्ट में कोड ऑब्जेक्टिव-सी में समान कोड की तुलना में 1.5 गुना तेजी से काम करता है।

किराये का

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

जूलिया

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

तीव्र गति

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

स्क्रिप्ट टाइप करें

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



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