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