1950 के दशक से, कंप्यूटर वैज्ञानिकों ने हजारों प्रोग्रामिंग भाषाओं को तैयार किया है। कई अस्पष्ट हैं, शायद एक पीएचडी के लिए बनाया गया है। थीसिस और के बाद से कभी नहीं सुना। अन्य लोग थोड़ी देर के लिए लोकप्रिय हो गए, फिर समर्थन की कमी के कारण फीका हो गए या क्योंकि वे एक विशेष कंप्यूटर सिस्टम तक सीमित थे। कुछ मौजूदा भाषाओं के वेरिएंट हैं, जो समानता की तरह नई विशेषताओं को जोड़ते हैं- समानांतर में विभिन्न कंप्यूटरों पर एक प्रोग्राम के कई हिस्सों को चलाने की क्षमता।
पर और अधिक पढ़ें प्रोग्रामिंग भाषा क्या है?
प्रोग्रामिंग भाषाओं की तुलना करना
कंप्यूटर लैंग्वेज की तुलना करने के कई तरीके हैं लेकिन सादगी के लिए, हम उनकी तुलना कंपटीशन मेथड और एब्स्ट्रेक्शन लेवल से करेंगे।
मशीन कोड के लिए संकलन
कुछ भाषाओं को प्रोग्राम को सीधे मशीन कोड में बदलने की आवश्यकता होती है- जो निर्देश सीपीयू सीधे समझता है। इस परिवर्तन प्रक्रिया को कहा जाता है संकलन. असेंबली लैंग्वेज, C, C ++ और पास्कल संकलित भाषाएं हैं।
व्याख्या की गई भाषाएँ
अन्य भाषाएं भी हैं व्याख्या की जैसे कि बेसिक, एक्टीस्क्रिप्ट, और जावास्क्रिप्ट, या दोनों का मिश्रण एक मध्यवर्ती भाषा में संकलित किया जा रहा है - इसमें जावा और सी # शामिल हैं।
एक व्याख्या की गई भाषा को रनटाइम पर संसाधित किया जाता है। हर पंक्ति को पढ़ा, विश्लेषण और निष्पादित किया जाता है। एक लूप में हर बार एक पंक्ति को पुनरावृत्ति करने के लिए व्याख्या की गई भाषाओं को इतना धीमा बनाता है। इस ओवरहेड का मतलब है कि संकलित कोड की तुलना में कोड 5 - 10 गुना धीमा है। मूल या जावास्क्रिप्ट जैसी व्याख्या की गई भाषाएँ सबसे धीमी हैं। परिवर्तन के बाद उनके लाभ को पुन: स्थापित करने की आवश्यकता नहीं है और जब आप प्रोग्राम सीख रहे हों तो यह आसान है।
क्योंकि संकलित कार्यक्रमों लगभग हमेशा व्याख्या की तुलना में तेजी से चलते हैं, सी और सी ++ जैसी भाषाएं खेल लिखने के लिए सबसे लोकप्रिय हैं। जावा और सी # दोनों एक व्याख्या की गई भाषा के लिए संकलित हैं जो बहुत ही कुशल है। क्योंकि वर्चुअल मशीन जो जावा और .NET फ्रेमवर्क की व्याख्या करती है, जो C # चलाता है, भारी रूप से अनुकूलित है, यह दावा किया जाता है कि उन भाषाओं में अनुप्रयोग उतने ही तेज़ हैं यदि C ++ संकलित नहीं हैं।
अमूर्तन का स्तर
भाषाओं की तुलना करने का दूसरा तरीका अमूर्तता का स्तर है। यह इंगित करता है कि एक विशेष भाषा हार्डवेयर के कितने करीब है। मशीन कोड सबसे निचला स्तर है, इसके ऊपर विधानसभा भाषा है। C ++ C से अधिक है क्योंकि C ++ अधिक अमूर्तता प्रदान करता है। जावा और C # C ++ से अधिक हैं क्योंकि वे एक मध्यवर्ती भाषा को संकलित करते हैं जिसे बायटेकोड कहा जाता है।
भाषाएं कैसे तुलना करती हैं
तेज संकलित भाषाएँ
- सभा की भाषा
- सी
- सी ++
- पास्कल
- सी#
- जावा
यथोचित तेजी से व्याख्या की गई
- पर्ल
- पीएचपी
धीमी व्याख्या की
- जावास्क्रिप्ट
- ActionScript
- बुनियादी
मशीन कोड एक सीपीयू निष्पादित करने वाले निर्देश हैं। यह केवल एक चीज है जिसे सीपीयू समझ सकता है और निष्पादित कर सकता है। व्याख्या की गई भाषाओं के लिए एक एप्लिकेशन की आवश्यकता होती है जिसे a कहा जाता है दुभाषिया यह प्रोग्राम स्रोत कोड की प्रत्येक पंक्ति को पढ़ता है और फिर इसे 'रन' करता है।
व्याख्या करना आसान है
व्याख्यात्मक भाषा में लिखे गए एप्लिकेशन को रोकना, बदलना और फिर से चलाना बहुत आसान है और यही कारण है कि वे प्रोग्रामिंग सीखने के लिए लोकप्रिय हैं। कोई संकलन चरण की आवश्यकता नहीं है। संकलन काफी धीमी प्रक्रिया हो सकती है। एक बड़े विजुअल C ++ एप्लिकेशन को संकलन करने में मिनटों से लेकर घंटों तक का समय लग सकता है, यह इस बात पर निर्भर करता है कि कितना कोड फिर से बनाना है और मेमोरी और सीपीयू की गति।
जब कंप्यूटर पहले दिखाई दिया
1950 के दशक में जब कंप्यूटर पहली बार लोकप्रिय हुए, तो मशीन कोड में प्रोग्राम लिखे गए थे क्योंकि कोई अन्य तरीका नहीं था। मान दर्ज करने के लिए प्रोग्रामर को शारीरिक रूप से फ्लिप स्विच करना पड़ा। यह एप्लिकेशन बनाने का ऐसा थकाऊ और धीमा तरीका है कि उच्च स्तरीय कंप्यूटर भाषाओं का निर्माण करना पड़ा।
असेंबलर: फास्ट टू रन- स्लो टू राइट!
असेंबली भाषा मशीन कोड का पठनीय संस्करण है और इस तरह दिखता है
मूव ए, $ 45
क्योंकि यह एक विशेष सीपीयू या संबंधित सीपीयू के परिवार से जुड़ा हुआ है, असेम्बली लैंग्वेज बहुत पोर्टेबल नहीं है और सीखने और लिखने के लिए समय लेने वाली है। C जैसी भाषाओं ने असेंबली लैंग्वेज प्रोग्रामिंग की जरूरत कम कर दी है, सिवाय इसके कि रैम सीमित है या टाइम-क्रिटिकल कोड की जरूरत है। यह आमतौर पर एक ऑपरेटिंग सिस्टम के दिल में या वीडियो कार्ड ड्राइवर में कर्नेल कोड में होता है।
असेंबली लैंग्वेज कोड का सबसे निचला स्तर है
असेम्बली लैंग्वेज बहुत निम्न स्तर की है; अधिकांश कोड केवल CPU रजिस्टरों और मेमोरी के बीच मानों को स्थानांतरित करते हैं। यदि आप वेतन और कर कटौती के संदर्भ में सोचना चाहते हैं, तो पेरोल पैकेज लिख रहे हैं, रजिस्टर ए टू मेमोरी लोकेशन एक्सवाईजेड। यही कारण है कि उच्च स्तरीय भाषाओं जैसे सी ++, सी# या जावा अधिक उत्पादक हैं। प्रोग्रामर समस्या डोमेन (वेतन, कटौती और प्रोद्भवन) के संदर्भ में सोच सकता है न कि हार्डवेयर डोमेन (रजिस्टर, मेमोरी और निर्देश)।
सिस्टम प्रोग्रामिंग सी के साथ
सी 1970 के दशक की शुरुआत में डेनिस रिची द्वारा तैयार किया गया था। इसे एक सामान्य उद्देश्य उपकरण के रूप में सोचा जा सकता है- बहुत उपयोगी और शक्तिशाली लेकिन इसके माध्यम से कीड़े को जाने देना बहुत आसान है जो सिस्टम को असुरक्षित बना सकता है। C एक निम्न-स्तरीय भाषा है और इसे पोर्टेबल असेंबली भाषा के रूप में वर्णित किया गया है। कई स्क्रिप्टिंग भाषाओं का सिंटैक्स C पर आधारित है, उदाहरण के लिए, जावास्क्रिप्ट, PHP और ActionScript।
पर्ल: वेबसाइट और यूटिलिटीज
लिनक्स दुनिया में बहुत लोकप्रिय है, पर्ल पहले वेब भाषाओं में से एक था और आज भी बहुत लोकप्रिय है। वेब पर "त्वरित और गंदे" प्रोग्रामिंग करने के लिए यह बेजोड़ रहता है और कई वेबसाइटों को चलाता है। हालांकि यह कुछ हद तक ग्रहण किया गया है PHP एक वेब स्क्रिप्टिंग भाषा के रूप में.
PHP के साथ वेबसाइटों को कोड करना
पीएचपी वेब सर्वर के लिए एक भाषा के रूप में डिज़ाइन किया गया था और यह लिनक्स, अपाचे, MySql और PHP या LAMP के लिए संक्षिप्त रूप में बहुत लोकप्रिय है। इसकी व्याख्या की जाती है, लेकिन पूर्व-संकलित इसलिए कोड बहुत जल्दी निष्पादित होता है। इसे डेस्कटॉप कंप्यूटरों पर चलाया जा सकता है लेकिन डेस्कटॉप अनुप्रयोगों के विकास के लिए इसका व्यापक रूप से उपयोग नहीं किया जाता है। सी सिंटैक्स के आधार पर, इसमें शामिल हैं वस्तुओं और कक्षाएं।
पास्कल को सी से कुछ साल पहले एक शिक्षण भाषा के रूप में तैयार किया गया था लेकिन खराब स्ट्रिंग और फ़ाइल हैंडलिंग के साथ बहुत सीमित था। कई निर्माताओं ने भाषा का विस्तार किया लेकिन बोरलैंड के टर्बो पास्कल (डॉस के लिए) और डेल्फी (विंडोज के लिए) दिखाई देने तक कोई समग्र नेता नहीं था। ये शक्तिशाली कार्यान्वयन थे जिन्होंने वाणिज्यिक विकास के लिए उन्हें उपयुक्त बनाने के लिए पर्याप्त कार्यक्षमता जोड़ी। हालांकि, बोरलैंड बहुत बड़े माइक्रोसॉफ्ट के खिलाफ था और लड़ाई हार गया।
C ++: एक उत्तम दर्जे की भाषा!
सी ++ या सी प्लस कक्षाएं जैसा कि मूल रूप से ज्ञात था कि सी के लगभग दस साल बाद आया और सफलतापूर्वक ऑब्जेक्ट ओरिएंटेड प्रोग्रामिंग टू सी को पेश किया गया, साथ ही अपवाद और टेम्प्लेट जैसी विशेषताएं भी। C ++ का सभी सीखना एक बड़ा काम है- यह अब तक की प्रोग्रामिंग लैंग्वेजेज में से सबसे जटिल है, लेकिन एक बार जब आप इसमें महारत हासिल कर लेते हैं, तो आपको किसी अन्य भाषा से कोई कठिनाई नहीं होगी।
C #: माइक्रोसॉफ्ट की बिग बेट
C # द्वारा बनाया गया था डेल्फीमाइक्रोसॉफ्ट और डेल्फी डेवलपर्स में स्थानांतरित होने के बाद आर्किटेक्ट एंडर्स हेजेल्सबर्ग को घर पर विंडोज के रूप में सुविधाओं के साथ महसूस होगा।
C # सिंटैक्स जावा से काफी मिलता-जुलता है, जो आश्चर्य की बात नहीं है क्योंकि Microsoft में चले जाने के बाद हेजेल्सबर्ग ने J ++ पर भी काम किया। C # जानें और आप जावा को जानने के तरीके पर अच्छी तरह से हैं। दोनों भाषाओं को अर्ध-संकलित किया गया है ताकि मशीन कोड के संकलन के बजाय, वे बायटेकोड (C # CIL के संकलन) पर संकलित करें लेकिन यह और बायटेकोड समान हैं) और फिर व्याख्या की जाती हैं।
जावास्क्रिप्ट: आपके ब्राउज़र में कार्यक्रम
जावास्क्रिप्ट जावा की तरह कुछ भी नहीं है, इसके बजाय, सी सिंटैक्स पर आधारित एक स्क्रिप्टिंग भाषा है, लेकिन इसके अतिरिक्त के साथ वस्तुओं और मुख्य रूप से ब्राउज़रों में उपयोग किया जाता है। जावास्क्रिप्ट की व्याख्या की गई है और बहुत धीमी है संकलित कोड लेकिन एक ब्राउज़र के भीतर अच्छी तरह से काम करता है।
नेटस्केप द्वारा आविष्कार किया गया यह बहुत सफल साबित हुआ है और कई वर्षों के बाद उदासीनता के कारण जीवन के एक नए पट्टे का आनंद ले रहा है AJAX; एसिंक्रोनस जावास्क्रिप्ट और एक्सएमएल. यह वेब पेजों के कुछ हिस्सों को सर्वर से पूरे पृष्ठ को फिर से रीडायरेक्ट किए बिना अपडेट करने की अनुमति देता है।
ActionScript: एक आकर्षक भाषा!
ActionScript जावास्क्रिप्ट का एक कार्यान्वयन है, लेकिन केवल मैक्रोमेडिया फ्लैश अनुप्रयोगों के भीतर ही मौजूद है। वेक्टर-आधारित ग्राफिक्स का उपयोग, इसका उपयोग मुख्य रूप से गेम, वीडियो और अन्य विज़ुअल इफेक्ट्स को चलाने और परिष्कृत उपयोगकर्ता इंटरफेस विकसित करने के लिए किया जाता है, जो सभी ब्राउज़र में चल रहे हैं।
शुरुआती के लिए बुनियादी
बुनियादी शुरुआती ऑल-उद्देश्य सिंबोलिक इंस्ट्रक्शन कोड के लिए एक संयोजन है और 1960 के दशक में प्रोग्रामिंग सिखाने के लिए बनाया गया था। Microsoft ने वेबसाइटों के लिए VBScript सहित कई अलग-अलग संस्करणों के साथ भाषा को अपना बनाया है और बहुत सफल रहा है मूल दृश्य. इसका नवीनतम संस्करण VB.NET है और यह एक ही प्लेटफॉर्म पर चलता है नेट C # के रूप में और एक ही CIL बाइटकोड का उत्पादन करता है।
लुआ C में लिखी जाने वाली एक मुफ्त स्क्रिप्टिंग भाषा है जिसमें कचरा संग्रह और कोरटाइन शामिल हैं। यह सी / सी ++ के साथ अच्छी तरह से इंटरफेस करता है और गेम इंडस्ट्री में (और नॉन-गेम्स के साथ ही) स्क्रिप्ट गेम लॉजिक, इवेंट ट्रिगर्स और गेम कंट्रोल के लिए उपयोग किया जाता है।
निष्कर्ष
जबकि सभी की अपनी पसंदीदा भाषा होती है और इसे सीखने के लिए समय और संसाधनों का निवेश किया जाता है, ऐसे में कुछ समस्याएं हैं, जो सही भाषा के साथ हल की जाती हैं।
ई। जी। आप वेब एप्लिकेशन लिखने के लिए सी का उपयोग नहीं करेंगे और आप जावास्क्रिप्ट में एक ऑपरेटिंग सिस्टम नहीं लिखेंगे। लेकिन आप जो भी भाषा चुनते हैं, अगर वह C, C ++ या C # है, तो कम से कम आपको पता है कि आप इसे सीखने के लिए सही जगह पर हैं।