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