সি সংকলকের ইতিহাস কী?


23

যখন আমরা বলি যে "ডেনিস রিচি সি ভাষা বিকাশ করেছে", তখন কি আমরা বোঝাতে চাই যে সে একটি সংকলক তৈরি করেছে (একটি 'ইতিমধ্যে' উন্নত অন্যান্য ভাষা ব্যবহার করে) যা সি ভাষায় লিখিত উত্স কোডটি সংকলন করতে পারে? যদি হ্যাঁ, তিনি প্রথম সি সংকলক লেখার জন্য কোন ভাষাটি ব্যবহার করতেন? আমি বুঝতে পারি যে একটি সংকলক একটি প্রোগ্রাম এবং আমরা বর্তমানে উপলব্ধ সি সংকলকটি ব্যবহার করে সি ভাষার জন্য অন্য একটি সংকলক তৈরি করতে পারি। এটা কি ঠিক?

উত্তর:


23

উইকি থেকে :

রিচি সি প্রোগ্রামিং ভাষার স্রষ্টা এবং ইউনিক্স অপারেটিং সিস্টেমের মূল বিকাশকারী এবং সি সম্পর্কিত নির্দিষ্ট বইয়ের সহ-লেখক হিসাবে সর্বাধিক পরিচিত R

উইকি থেকেও :

ডেনিস রিচি রচিত প্রথম সি সংকলনটিতে একটি পুনরাবৃত্ত ডিসেন্ট পার্সার ব্যবহার করা হয়েছিল, পিডিপি -11 সম্পর্কে নির্দিষ্ট জ্ঞানকে সমন্বিত করে এবং এটি তৈরি হওয়া এসেম্বলি ভাষার কোডটি উন্নত করতে একটি machineচ্ছিক মেশিন-নির্দিষ্ট অপ্টিমাইজারের উপর নির্ভর করে।

প্রথম সি সংকলকটিও তিনি লিখেছিলেন, সমাবেশে।

বেল-ল্যাবগুলি থেকে এই পৃষ্ঠাটি আপনার বেশিরভাগ প্রশ্নের উত্তর দেয়।


প্রথম লিঙ্কটি নষ্ট হয়ে গেছে।
মাহমুদ হোসাম

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

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

আউচ। । । সমাবেশ ভাষায় একটি সংকলক লিখছি।
কমপিউন

6
@ কমপম্যান কোনও সময়, কাউকে সমাবেশে একটি সংকলক লিখতে হবে - আপনি কীভাবে এইচএলএল মধ্যে সংকলক যাওয়ার পথে বুটস্ট্র্যাপ করবেন?
রিচার্ড গ্যাডসডেন

9

ইতিহাসের পাঠের জন্য এটি দেখুন: http://www.livinginternet.com/i/iw_unix_c.htm

পিডিপি -11 কম্পিউটার যখন বেল ল্যাবসে পৌঁছেছিল, ডেনিস রিচি বি নামক একটি নতুন ভাষা তৈরি করার জন্য তৈরি করেছিল যা সি সংশ্লেষের জন্য থম্পসনের স্বাদ উত্তরাধিকার সূত্রে প্রাপ্ত হয়েছিল এবং এতে একটি উচ্চ-স্তরের কার্যকারিতা এবং একটি অপারেটিং প্রোগ্রামের প্রয়োজনীয় বিশদ বৈশিষ্ট্যগুলির একটি শক্তিশালী মিশ্রণ ছিল had পদ্ধতি. ইউনিক্সের বেশিরভাগ উপাদানগুলি শেষ পর্যন্ত সিতে পুনরায় লেখা হয়েছিল, 1973 সালে কার্নেলের সাথে শেষ হয়েছিল

এছাড়াও এটি আকর্ষণীয় হতে পারে: http://cm.bell-labs.com/cm/cs/who/dmr/chist.html


1
আফাইক, "বিল্ট অন" যেমন "ডিজাইনের উপর ভিত্তি করে" , "ব্যবহার করে সংকলিত" হিসাবে নয় ।
ভের্টেক

8

ডেনিস রিচি বুটস্ট্র্যাপিং ব্যবহার করেছিলেন । বুটস্ট্র্যাপিং একটি সহজ ধারণা, যেখানে আপনি সমাবেশে প্রাথমিক, সাধারণ সংকলক বিকাশ করেন, তারপরে আপনি আপনার টার্গেট ল্যাঙ্গুয়েজে (সম্পূর্ণরূপে) লেখা সম্পূর্ণরূপে সংকলক সংকলন করতে আপনি এই সাধারণ সংকলকটি ব্যবহার করেন। এভাবেই রিচি খুব শেষের দিকে গত 1120c সংকলক তৈরি করেছিলেন।


2

এই নিবন্ধটি আপনার প্রশ্নের উত্তর দেওয়া উচিত:

http://www.faqs.org/docs/artu/c_evolution.html

সি এর ইতিহাস বি ভাষার সাথে আবদ্ধ, যার জন্য কেন থম্পসন একজন অনুবাদক তৈরি করেছিলেন। রিচি সি বিকাশের একেবারে প্রথম পর্যায়ে এটি ব্যবহার করেছিল।


2

সি প্ল্যাটফর্মের জন্য সমস্ত অ্যাসেম্বলি কোডটি আবার না লিখে অন্য প্ল্যাটফর্মগুলিতে ইউনিক্সকে পোর্ট করার অনুমতি দেওয়ার জন্য ডিজাইন করা হয়েছিল।

সুতরাং প্রচলিত উক্তিটি যে "সি পোর্টেবল এসেম্বেলার"। এটি প্রতিফলিত করে যে সি বুদ্ধিমান স্তরে (প্রায় 1970 সাল থেকে) একটি সিপিইউর খুব কাছাকাছি ছিল এবং এটি বেশিরভাগ এমবেডেড সফ্টওয়্যার কোনও না কোনও সিতে রচিত বলেও রয়েছে

সুতরাং, সি ইউনিক্সের সাথে নিবিড়ভাবে সংযুক্ত এবং ইউনিক্স লোকেরা তাদের প্রয়োজনীয় কাজটি করার জন্য পূর্ববর্তী কাজের উপর ভিত্তি করে প্রথম সি সংকলক লিখেছিল।

দয়া করে নোট করুন যে কার্নিগান এবং রিচি সি-র উপর একটি দুর্দান্ত বই লিখেছিলেন যা সম্ভবত একটি কম্পিউটার ভাষার উপর অন্যতম প্রভাবশালী রেফারেন্স, কারণ এটি এতটাই স্পষ্ট এবং সংক্ষিপ্ত ছিল যে বেশিরভাগ পাঠক এটি থেকে পয়েন্টার এবং পুনরাবৃত্তির মতো উন্নত বিষয়গুলি শিখতে পারে।

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.