হ্যাঁ, এটি উভয়ই সংকলিত এবং বর্ণিত ভাষা। তাহলে আমরা কেন এটিকে সাধারণত বর্ণিত ভাষা বলি?
এটি উভয় সংকলিত এবং ব্যাখ্যা করা হয় কিভাবে দেখুন?
সবার আগে আমি বলতে চাই যে আপনি জাভা বিশ্ব থেকে এসেছেন তবে আমার উত্তরটি আপনার পছন্দ হবে।
জাভা সোর্স কোড প্রথম মাধ্যমে বাইট কোড রূপান্তরিত পরার javac কম্পাইলার তারপর নির্দেশ জেভিএম (সঞ্চালনের উদ্দেশ্যে নেটিভ কোড জেনারেট করার জন্য দায়ী)। এখন আমি আপনাকে দেখাতে চাই যে আমরা জাভাটিকে সংকলিত ভাষা হিসাবে ডাকি কারণ আমরা দেখতে পাচ্ছি যে এটি সত্যিকারের উত্স কোডটি সংকলন করে এবং ক্লাস ফাইলটি ( বাইটোকড ব্যতীত কিছুই দেয় ):
জাভাক হ্যালো.জভা -------> হ্যালো.ক্লাস ফাইল তৈরি করে
জাভা হ্যালো --------> এ বাইটকোড নির্দেশনা জেভিএম সঞ্চালনের উদ্দেশ্যে
অজগর দিয়ে একই জিনিস ঘটে অর্থাত্ প্রথমে উত্স কোডটি কম্পাইলারের মাধ্যমে বাইটকোডে রূপান্তরিত হয় তারপরে পিভিএমকে নির্দেশিত হয় (কার্যকর করার উদ্দেশ্যে নেটিভ কোড তৈরির জন্য দায়বদ্ধ)। এখন আমি আপনাকে দেখাতে চাই যে আমরা সাধারণত পাইথনকে একটি বর্ণনামূলক ভাষা বলে
থাকি কারণ সংকলনটি ঘটনার পিছনে ঘটে এবং যখন আমরা পাইথন কোডটি চালাই:
পাইথন হ্যালো.পি -------> কোডটি সরাসরি উত্সাহিত করে এবং আমরা আউটপুটটি দেখতে পাই যে কোডটি সিনথেটিকভাবে সঠিক
@ পাইথন হ্যালো.পি এটি দেখে মনে হচ্ছে এটি সরাসরি কার্যকর হয় তবে সত্যিকার অর্থে এটি প্রথমটি বাইটকোড উত্পন্ন করে যা কার্যকারীর উদ্দেশ্যে স্থানীয় কোড তৈরি করতে দোভাষী দ্বারা ব্যাখ্যা করা হয়।
সিপিথন - সংকলন এবং ব্যাখ্যা উভয়েরই দায়িত্ব নেয়।
আপনার আরও বিশদ প্রয়োজন হলে নীচের লাইনে দেখুন :
আমি উল্লেখ হিসাবে যে CPython সোর্স কোড প্রনয়ন পারে তবে প্রকৃত সংকলন সাহায্যে ঘটে cython তারপর ব্যাখ্যা সাহায্যে ঘটে CPython
এখন জাভা এবং পাইথনের জাস্ট-ইন-টাইম সংকলকের ভূমিকা সম্পর্কে কিছুটা কথা বলি
জাভিএম-তে জাভা ইন্টারপ্রেটার উপস্থিত থাকে যা কার্যকর করার উদ্দেশ্যে নেটিভ মেশিন কোড পেতে লাইন দ্বারা বাইটকোড লাইনকে ব্যাখ্যা করে তবে জাভা বাইটকোড যখন কোনও দোভাষী দ্বারা কার্যকর করা হয় তখন কার্যকর করা সর্বদা ধীর হয়। তাহলে সমাধান কি? সমাধানটি জাস্ট-ইন-টাইম সংকলক যা দেশী কোড তৈরি করে যা ব্যাখ্যা করা যায় তার থেকে অনেক বেশি দ্রুত কার্যকর করা যায়। কিছু জেভিএম বিক্রেতারা জাভা ইন্টারপ্রেটার ব্যবহার করেন এবং কিছু জাস্ট-ইন-টাইম সংকলক ব্যবহার করেন । তথ্যসূত্র: এখানে ক্লিক করুন
পাইথন মধ্যে অর্জন করা দ্রুত সঞ্চালনের অন্য পাইথন বাস্তবায়ন (ব্যবহার অনুবাদক কাছাকাছি পেতে PyPy পরিবর্তে) CPython ।
পাইপাই সহ পাইথন সহ অন্যান্য বাস্তবায়নের জন্য এখানে ক্লিক করুন ।