কম্পিউটারগুলি বাইনারিতে লিখিত মেশিনের ভাষা থেকে কমান্ডগুলি পড়ে, অর্থাত্, জিরো এবং তার দীর্ঘ স্ট্রিং। কম্পিউটারগুলি দক্ষতার সাথে এই ভাষাটি পড়তে পারে, তবে বেশিরভাগ মানব প্রোগ্রামার তা পারে না। এই কারণেই প্রোগ্রামাররা প্রোগ্রামিং ভাষায় কাজ করে যা তারা বুঝতে পারে, যা তারা কম্পিউটারের বুঝতে পারে এমন মেশিন ভাষায় অনুবাদ করে। প্রোগ্রামটি চলার সাথে সাথে অনেক নতুন ভাষাগুলি একটি অনুবাদককে অনুবাদ করে যা এক থেকে অন্যটিতে অনুবাদ করে, পুরানো প্রোগ্রামিং ল্যাঙ্গুয়েজগুলি কম্পিউটারটি প্রোগ্রামটি কার্যকর করার আগে এই অনুবাদটি সম্পূর্ণরূপে সম্পন্ন সংকলক ব্যবহার করে।

...

সুবিধা: স্ব-নিযুক্ত এবং দক্ষ

সংকলিত প্রোগ্রামগুলির একটি বড় সুবিধা হ'ল তারা স্ব-সংযুক্ত ইউনিট যা কার্যকর করার জন্য প্রস্তুত। কারণ তারা ইতিমধ্যে মেশিন ল্যাঙ্গুয়েজ বাইনারিগুলিতে সংকলিত হয়েছে, তাই ব্যবহারকারীদের আপ-টু-ডেট রাখতে হবে এমন কোনও দ্বিতীয় অ্যাপ্লিকেশন বা প্যাকেজ নেই। যদি একটি প্রোগ্রাম উইন্ডোজের জন্য একটি x86 আর্কিটেকারে সংকলিত হয় তবে শেষ ব্যবহারকারীর জন্য কেবল একটি x86 আর্কিটেকচারে চলমান একটি উইন্ডোজ অপারেটিং সিস্টেমের প্রয়োজন। অতিরিক্তভাবে, একটি পূর্বনির্ধারিত প্যাকেজটি রিয়েল টাইমে কোনও ইন্টারপ্রেটার সংকলন উত্স কোডের চেয়ে দ্রুত চলতে পারে।

অসুবিধা: হার্ডওয়্যার নির্দিষ্ট

যেহেতু একটি সংকলক উত্স কোডটি একটি নির্দিষ্ট মেশিনের ভাষায় অনুবাদ করে, প্রোগ্রামগুলি ওএস এক্স, উইন্ডোজ বা লিনাক্সের পাশাপাশি বিশেষত 32-বিট বা 64৪-বিট স্থাপত্যের জন্য সংকলন করতে হয়। কোনও প্রোগ্রামার বা সফ্টওয়্যার সংস্থার পক্ষে আরও বিস্তৃত দর্শকদের কাছে পণ্য আনার চেষ্টা করা, এর অর্থ একই অ্যাপ্লিকেশনের জন্য উত্স কোডের একাধিক সংস্করণ বজায় রাখা। এর ফলে উত্স কোড রক্ষণাবেক্ষণ এবং আপডেটগুলি প্রকাশের সময় অতিরিক্ত সমস্যায় বেশি সময় ব্যয় হয়।

সুবিধা: হার্ডওয়্যার অপ্টিমাইজেশন

একটি নির্দিষ্ট হার্ডওয়্যার প্যাকেজে লক হওয়ার সময় এর ডাউনসাইড রয়েছে, একটি প্রোগ্রাম সংকলনও এর কার্যকারিতা বাড়িয়ে তুলতে পারে। প্রোগ্রামগুলি যে হার্ডওয়্যারটি চলবে তার বিশদ সম্পর্কিত ব্যবহারকারীরা সংকলকগুলিকে নির্দিষ্ট বিকল্পগুলি প্রেরণ করতে পারবেন। এটি কম্পাইলারটিকে মেশিনের ল্যাঙ্গুয়েজ কোড তৈরি করতে অনুমতি দেয় যা নির্দিষ্ট জালিয়াতি কোডের বিপরীতে নির্দিষ্ট হার্ডওয়্যারটির সর্বাধিক দক্ষ ব্যবহার করে। এটি উন্নত ব্যবহারকারীদের তাদের কম্পিউটারে একটি প্রোগ্রামের পারফরম্যান্সকে অনুকূল করতে সহায়তা করে।

অসুবিধা: সংকলন টাইমস

সংকলক থাকার একটি ত্রুটি হ'ল এটি অবশ্যই উত্স কোডটি সংকলন করতে হবে। যখন ছোট ছোট প্রোগ্রামগুলি যে অনেক নবাগত প্রোগ্রামার কোডগুলি সংকলন করতে তুচ্ছ পরিমাণে সময় নেয়, বৃহত্তর অ্যাপ্লিকেশন স্যুটগুলি সংকলনের জন্য উল্লেখযোগ্য পরিমাণ সময় নিতে পারে। যখন প্রোগ্রামারগুলির কাছে আর কিছুই করার দরকার নেই তবে সংকলকটি শেষ হওয়ার জন্য অপেক্ষা করুন, এই সময়টি যুক্ত হতে পারে — বিশেষত বিকাশের পর্যায়ে, যখন কার্যকারিতা পরীক্ষা করার জন্য সমস্যাটি সমস্যা সমাধানের জন্য কোডটি সংকলিত করতে হয়।