সি প্রোগ্রামিং ল্যাঙ্গুয়েজ ১৯৭০-এর দশকে ডেনিস রিচি দ্বারা ডেভেলপ করা হয়েছিল। এটি ইউনিক্স অপারেটিং সিস্টেম রিডিজাইন করার জন্য তৈরি হয়েছিল।
পূর্বে ইউনিক্স সিস্টেমে B ল্যাঙ্গুয়েজ ব্যবহার হতো, যার কিছু ড্রব্যাক ছিল। এটি স্ট্রাকচার সাপোর্ট করত না এবং ডেটা টাইপ বুঝত না। এই কারণেই সি ল্যাঙ্গুয়েজ登場 করা। সি-তে হাই-লেভেল ফাংশনালিটি ও ওএস প্রোগ্রামিং-এর জন্য বিস্তারিত ফিচার রয়েছে। ইউনিক্স কার্নেল সি দিয়ে ডেভেলপ করা হয়েছিল।
সি ভাষার সুবিধা (Advantages)
সি মিডিয়াম লেভেল ল্যাঙ্গুয়েজ। এতে লো-লেভেল ও হাই-লেভেল দুটোই ফাংশনালিটি রয়েছে। সি দিয়ে ড্রাইভার বা কার্নেল লেভেল প্রোগ্রাম লেখা যায়, আবার সফটওয়্যার অ্যাপ্লিকেশনও লেখা যায়।
সি স্ট্রাকচার্ড প্রোগ্রামিং ল্যাঙ্গুয়েজ। এটি জটিল প্রোগ্রামকে সিম্পলার প্রোগ্রামে ভাগ করতে দেয়। এই ছোট প্রোগ্রামগুলোকে ফাংশন বলা হয়।
সি এমবেডেড সিস্টেমের ড্রাইভারের জন্য স্ক্রিপ্টিং ল্যাঙ্গুয়েজ হিসেবে ব্যবহার করা যায়। কারণ সি-তে মেশিন লেভেল হার্ডওয়ার API, ডাইনামিক মেমোরি অ্যালোকেশন ইত্যাদিতে ডায়রেক্ট এক্সেস রয়েছে।
সি কেস-সেনসিটিভ। তাই ছোট ও বড় হাতের অক্ষরের অর্থ ভিন্ন।
সি খুব পোর্টেবল ল্যাঙ্গুয়েজ। উইন্ডোজ, ইউনিক্স, লিনাক্স সিস্টেমের বিভিন্ন কম্পোনেন্ট সি-তে লেখা।
সি জেনারেল-পারপাস ল্যাঙ্গুয়েজ হওয়ায় গেম ডিজাইন, গ্রাফিক্স, এন্টারপ্রাইজ অ্যাপ্লিকেশন ইত্যাদিতে ব্যবহার করা যায়।
সি-তে বিল্ট-ইন ফাংশনের সমৃদ্ধ লাইব্রেরি রয়েছে।
এই ফিচারগুলোর জন্য সি ALGOL, B, PL/I, FORTRAN ইত্যাদি ভালো পরিচিত ল্যাঙ্গুয়েজের জায়গা নিতে পেরেছে। সি এমবেডেড সিস্টেম, মাইক্রোপ্রসেসর, মাইक्रোকন্ট্রোলারের জন্য ব্যাপকভাবে ব্যবহৃত ল্যাঙ্গুয়েজ হয়ে ওঠে।