এখানে "ভুল স্টাফ" অর্থ দোভাষীকে কোডটি বিশ্লেষণ এবং প্রক্রিয়া করার জন্য ওভারহেড লাগে। এটি অনুবাদ করা বনাম সংকলিত ভাষার ধারণার সাথে সংযুক্ত। বেশ কয়েকটি মডেল কোড অনুবাদ ব্যবহার রয়েছে, যা মোটামুটি নিম্নলিখিত বিভাগগুলির মধ্যে পড়ে:
- নেটিভ সংকলন - উত্স কোডটি সরাসরি মেশিন কোডে সংকলিত হয়। বহনযোগ্যতার ব্যয়ে সেরা পারফরম্যান্স। সাধারণত সি এবং সি ++ এর সাথে যুক্ত,
- মধ্যবর্তী সংকলন - উত্স কোড একটি সরল মধ্যস্থতাকারী ভাষায় (বাইটকোড) সংকলিত হয়, যা পরে মৃত্যুদন্ড কার্যকর করার সময় মেশিন কোডে ব্যাখ্যা করা বা সংকলিত হয় (জাস্ট-ইন-টাইম সংকলন)। নেটিভ কোডের চেয়ে ভাল বহনযোগ্যতা, বিশ্লেষণের কিছু উত্সাহ বজায় রাখার সময় বিশুদ্ধ ব্যাখ্যার চেয়ে ভাল পারফরম্যান্স (দেরীতে বাইন্ডিংয়ের মতো)। উদাহরণগুলির মধ্যে সি #, জাভা এবং জেভিএম এবং। নেট সিএলআর লক্ষ্য করে অন্যান্য ভাষা অন্তর্ভুক্ত রয়েছে,
- ব্যাখ্যা - উত্স কোডটি সরাসরি মেশিন কোডে অনুবাদ করা হয় না, পরিবর্তে এটি ডেডিকেটেড ইন্টারপ্রিটার প্রোগ্রাম দ্বারা ব্যাখ্যা এবং সম্পাদিত হয়। দোভাষীগণ পরিশীলনের ক্ষেত্রে ভিন্ন, নির্লজ্জ প্রয়োগে তবে এটি উত্সকে উত্সাহিত করে বিশ্লেষণ করে, সূত্রের কোড লাইনকে রেখার দ্বারা চালিত করে। ব্যাখ্যা সংকলনের চেয়ে বৃহত্তর নমনীয়তার অনুমতি দেয়, সুতরাং ব্যাখ্যা করা ভাষাগুলি উদাহরণস্বরূপ গতিশীল টাইপিং বা প্রতিবিম্বের বিস্তৃত ব্যবহার করে। অনুবাদিত ভাষাগুলি প্রায়শই বর্ধিত বিকাশকারী উত্পাদনশীলতার প্রস্তাব হিসাবে দেখা যায়, কারণ তাদের কম বয়লারপ্লেট কোডের প্রয়োজন হয় এবং দ্রুত প্রোটোটাইপিংয়ের জন্য নিজেকে সুন্দরভাবে ধার দিয়েছিলেন। কর্মক্ষমতা হ্রাস হয়। সাধারণত জাভাস্ক্রিপ্ট, রুবি বা পাইথনের সাথে যুক্ত।
সুতরাং ব্যাখ্যা করা এবং সংকলিত ভাষার মধ্যে থাকা নির্বাচনটি এই প্রশ্নের উপরে ফোটে, আমরা কী বেশি মূল্যবান, বিকাশকারী উত্পাদনশীলতা বা কর্মক্ষমতা? নিবন্ধে বর্ণিত স্থানান্তরটি একই চিন্তাধারার অনুসরণ করে বলে মনে হচ্ছে, পারফরম্যান্স বিবেচনার কারণে দৃ strong় প্রোটোটাইপিং ভাষা রুবিকে জেভিএম-ভিত্তিক স্কালায় প্রতিস্থাপন করা হয়েছে।