प्रोग्रामिंग कंपाइलर क्या है?

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

कौन सी प्रोग्रामिंग भाषाएं AOT कंपाइलर का उपयोग करती हैं?

कई प्रसिद्ध प्रोग्रामिंग भाषाओं में संकलक की आवश्यकता होती है:

  • फोरट्रान
  • पास्कल
  • सभा की भाषा
  • सी
  • सी ++
  • तीव्र

जावा और सी # से पहले, सभी कंप्यूटर प्रोग्राम या तो संकलित थे या व्याख्या की.

व्याख्या किए गए कोड के बारे में क्या?

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

संकलित कोड व्याख्या किए गए कोड की तुलना में तेजी से चलता है क्योंकि कार्रवाई के समय उसे कोई काम करने की आवश्यकता नहीं होती है। काम पहले ही हो चुका है।

instagram viewer

कौन सी प्रोग्रामिंग लैंग्वेजेज एक JIT कंपाइलर का उपयोग करती हैं?

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

इसी तरह, C # एक JIT कंपाइलर का उपयोग करता है जो कि कॉमन लैंग्वेज रनटाइम का हिस्सा है, जो सभी .NET एप्लिकेशन के निष्पादन का प्रबंधन करता है। प्रत्येक लक्ष्य प्लेटफ़ॉर्म में एक JIT संकलक है। जब तक प्लेटफ़ॉर्म द्वारा मध्यवर्ती बायटेकोड भाषा रूपांतरण को समझा जा सकता है, कार्यक्रम चलता है।

एओटी और जेआईटी संकलन के पेशेवरों और विपक्ष

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

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