সরাসরি মেশিন কোড লেখা সম্ভব (ক্লান্তিকর হলে)। হতে পারে আপনি কোনও কাগজের টুকরোটিতে এসেম্বলারের মাধ্যমে প্রোগ্রামটি লিখে রাখুন এবং তারপরে আপনি এটি মেশিনের মেমরিতে প্রবেশের সংখ্যাসূচক মেশিন কোডের নির্দেশাবলীতে হাতে হাতে অনুবাদ করবেন। এমনকি আপনি যদি সমস্ত মেশিন কোডের নির্দেশাবলীর সংখ্যাসমূহ মুখস্থ করে রেখে থাকেন তবে those দিনগুলিতে অসাধারণ নয়, বিশ্বাস করুন বা না করুন!
খুব প্রথম কম্পিউটারগুলিকে শারীরিক স্যুইচগুলি টগল করে সরাসরি বাইনারিতে প্রোগ্রাম করা হয়েছিল। এটি একটি দুর্দান্ত উত্পাদনশীলতার উন্নতি যখন প্রোগ্রামার (বা ডেটা এন্ট্রি সহকারী) কেপ্যাডের মাধ্যমে হেক্সডিসিমাল সংখ্যায় কোড প্রবেশ করতে দেয়!
একটি সফ্টওয়্যার অ্যাসেমব্লার কেবল তখনই প্রাসঙ্গিক হয়ে যায় যখন আরও মেমরি উপলব্ধ হয় (যেহেতু এসেম্বলার কোডটি কাঁচা মেশিন কোডের চেয়ে বেশি জায়গা নেয়) এবং হার্ডওয়্যার বর্ণমালার ইনপুটটিকে অনুমতি দেওয়ার জন্য বিকশিত হয়। সুতরাং প্রথম সমাবেশকারীরা সরাসরি মেশিন কোডে সাবলীল লোকেরা লিখেছিলেন।
আপনার যখন এসেম্বলার থাকে, আপনি এসেম্বেলারে উচ্চ স্তরের ভাষার জন্য একটি সংকলক লিখতে পারেন।
সি এর জন্য গল্পটির একাধিক পদক্ষেপ রয়েছে। প্রথম সি সংকলক বিতে লেখা হয়েছিল (সি এর পূর্বসূরী) যা পরিবর্তে বিসিপিএলে লেখা হয়েছিল। বিসিপিএল হ'ল একটি সহজ সরল ভাষা (উদাহরণস্বরূপ এটির প্রকারভেদ থাকে না) তবে কাঁচা এসেমব্লার থেকে এখনও এক ধাপ। সুতরাং আপনি দেখতে পাচ্ছেন যে ধীরে ধীরে আরও জটিল ভাষাগুলি সহজ ভাষায় আরও একবার এসেম্বলারের দিকে ফিরে যায়। এবং নিজেই সি আজকের স্ট্যান্ডার্ড অনুসারে একটি দুর্দান্ত ছোট এবং সাধারণ ভাষা।
আজ, একটি নতুন ভাষার প্রথম সংকলক প্রায়শই সিতে রচিত হয়, তবে যখন ভাষাটি একটি নির্দিষ্ট পরিপক্কতায় পৌঁছায় তখন প্রায়শই এটি "নিজের মধ্যে" আবার লেখা হয়। প্রথম জাভা সংকলক সি-তে লেখা হয়েছিল, তবে পরে জাভাতে আবার লেখা হয়েছিল। প্রথম সি # সংকলক সি ++ তে লেখা হয়েছিল, তবে সম্প্রতি এটি সি # তে আবারও লেখা হয়েছে। পাইথন সংকলক / দোভাষা সিতে লেখা হয়, তবে পাইপাই প্রকল্পটি পাইথনে এটি পুনরায় লেখার চেষ্টা।
যদিও নিজে ভাষায় কোনও ভাষার জন্য একটি সংকলক / দোভাষী লিখতে পারা যায় তা সবসময়ই সম্ভব নয়। জাভাস্ক্রিপ্টে লিখিত একটি জাভাস্ক্রিপ্ট ইন্টারপ্রেটার বিদ্যমান, তবে পারফরম্যান্সের কারণে বর্তমান ব্রাউজারগুলিতে সংকলক / দোভাষী এখনও সি বা সি ++ তে লিখিত আছে। জাভাস্ক্রিপ্ট লিখিত জাভাস্ক্রিপ্ট খুব ধীর।
তবে আপনাকে সংকলকের জন্য সিটিকে "প্রারম্ভিক ভাষা" হিসাবে ব্যবহার করতে হবে না। প্রথম এফ # সংকলকটি ওকমলটিতে রচিত হয়েছিল, এটি অন্য ভাষা যা এফ # এর সাথে খুব ঘনিষ্ঠভাবে সম্পর্কিত। সংকলকটি সম্পূর্ণ হয়ে গেলে, এটি F # এ আবার লেখা হয়েছিল। পার্ল 6 প্রথম কম্পাইলার মধ্যে Haskell লেখা হয়েছিল (ক বিশুদ্ধ কার্মিক ভাষা খুব কিন্তু এখন পার্ল থেকে আলাদা) একটি কম্পাইলার সি তে লেখা হয়েছে
একটি আকর্ষণীয় কেসটি মরিচা, যেখানে প্রথম সংকলক ওসিএএমএলে লেখা হয়েছিল (এখন এটি জাস্টে আবার লেখা হয়)। এটি উল্লেখযোগ্য কারণ OCaml সাধারণত মরিচা থেকে উচ্চ স্তর হিসাবে বিবেচিত হয়, যা ধাতু সিস্টেমগুলির কাছাকাছি একটি ভাষা। সুতরাং সর্বদা নিম্ন-স্তরের ভাষাগুলিতে উচ্চ-স্তরের ভাষা প্রয়োগ করা হয় না, এটি অন্যভাবেও হতে পারে।