আশি ও নব্বইয়ের দশকে বেশিরভাগ সফটওয়্যার ডেভেলপাররা যে প্রোগ্রামিং ভাষাটা বেশি ব্যবহার করতেন, তা হলো "সি"। সি বের হবার পর থেকে এখন পর্যন্ত অ্যাপল কিংবা পিসিতে ম্যাক ওএস, ডস, উইন্ডোজ, লিনাক্স থেকে শুরু করে এসব অপারেটিং সিস্টেমে চালিত বেশিরভাগ প্রোগ্রাম লেখা হয় সি দিয়ে। সি দিয়ে যত বড় বড় প্রোগ্রাম লেখা হয়েছে, আর কোনও প্রোগ্রামিং ভাষায় তা হয়নি। Embeded সিস্টেম থেকে আরম্ভ করে অপারেটিং সিস্টেম, গ্রাফিক্স অ্যাপ্লিকেশন, ক্লায়েন্ট/সার্ভার ডেটাবেজ, থ্রিডি গেমস্, ডেটা কম্প্রেশন, নেটওয়ার্কিং, ভাইরাস, এন্টিভাইরাস সহ আরও অনেক ধরণের প্রোগ্রাম লেখা হয় সি দিয়ে। কিন্তু সি দিয়ে এতো কিছু করা গেলেও বড় প্রোগ্রাম তৈরী করতে গিয়ে কিছু সমস্যা ধরা পড়ে। যেমন কোনও প্রোগ্রাম যদি বেশি বড় মানে ১ লক্ষ লাইনের উপর হয়ে যায়, তাহলে সেই প্রোগ্রামের কিছু পরিবর্তন করতে গেলে কিংবা নতুন কিছু যোগ করতে গেলে অনাকাঙ্খিত কিছু ভুলও প্রোগ্রামে যোগ হতে পারে। কেননা সি তে প্রোগ্রাম লেখার জন্য structured কিংবা procedural programming পদ্ধতি অনুসরণ করা হয়। আর এই পদ্ধতিতে যেভাবে data abstraction করা হয়, সেক্ষেত্রে প্রোগ্রাম বড় হয়ে গেলে সব ডেটার প্রতি ঠিকমতো নজর দেয়া যায় না। ১৯৮০ সালে এটিএন্ডটি বেল ল্যাবরেটরিজ এ ইউনিক্স কার্নেল নিয়ে গবেষণা করতে গিয়ে বিয়ারনে স্ট্রোভস্ট্রুপ (Bjarne Stroustrup) এ ধরণের কিছু সমস্যার সম্মুখীন হোন। তখন তিনি নতুন একটা প্রোগ্রামিং ভাষা তৈরী করার চেষ্টা করেন। এই প্রোগ্রামিং ভাষা তৈরী করার সময় এর প্রাথমিক উপাদানগুলোর জন্য নতুন syntex তৈরী না করে সে সময়কার সবচেয়ে বেশি ব্যবহৃত ল্যাঙ্গুয়েজ সি-টাকে বেছে নেন এবং সেই সাথে আরও কিছু ল্যাঙ্গুয়েজের ভালো ফিচার তিনি এই নতুন ল্যাঙ্গুয়েজে যোগ করেন। যেমন সিমুলা থেকে নেন অবজেক্ট ওরিয়েন্টেড প্রোগ্রামিং এর ধারণা, অ্যাডা'র generic এর ধারণাটা যোগ করেন template হিসেবে প্রভৃতী। আর এভাবে যে নতুন প্রোগ্রামিং ভাষা তৈরী করা হয়, তার নাম হলো C with Classes। 

১৯৮৩ সাল পর্যন্ত নতুন এই ভাষাটা শুধুমাত্র এটিএন্ডটি বেল ল্যাবরেটরিজ এর ভেতরেই ব্যবহার করা হতো। ১৯৮৩ সালের জুলাই মাসে এটাকে প্রথম এটিএন্ডটি বেল ল্যাবরেটরিজ এর বাইরে প্রোগ্রাম তৈরী করার জন্য ব্যবহার করা হয়। এ বছরই C with Classes নামটা Rick Mascitti পরিবর্তন করে রাখেন সি++। এই নামকরণের পেছনে যুক্তিটা হলো এরকম, সি তে ++ হলো increment অপারেটর এবং C with Classes হলো সি এরই increment ভার্সন। তাই নাম দেয়া হলো সি++। 

ভাষা
অপারেটর এবং অপারেটর ওভারলোডিং
ইতিহাস
নামকরণ: