C++ dasturlash tili C tiliga asoslangan. C esa oʻz navbatida B va BCPL tillaridan kelib chiqqan. BCPL 1967-yilda Martin Richards tomonidan tuzilgan va operatsion sistemalarni yozish uchun moʻljallangan edi.

Dasturlash tili C++

Ken Thompson oʻzining B tilida BCPL ning koʻp hossalarini kiritgan va B da UNIX operatsion sistemasining birinchi versiyalarini yozgan. BCPL ham, B ham tipsiz til boʻlgan. Yani oʻzgaruvchilarning maʼlum bir tili boʻlmagan — har bir oʻzgaruvchi kompyuter hotirasida faqat bir bayt yer egallagan. Oʻzgaruvchini qanday sifatda ishlatish esa, yani butun sonmi, kasrli sonmi yoki harfdekmi, dasturchi vazifasi boʻlgan.

C tilini Dennis Ritchie B dan keltirib chiqardi va uni 1972 yili ilk bor Bell Laboratoriyasida, DEC PDP-11 kompyuterida qoʻlladi. C oʻzidan oldingi B va BCPL tillarining juda koʻp muhim tomonlarini oʻz ichiga olish bilan bir qatorda oʻzgaruvchilarni tiplashtirdi va bir qator boshqa yangiliklarni kiritdi. Boshlanishda C asosan UNIX sistemalarida keng tarqaldi. Hozirda operatsion sistemalarning asosiy qismi C/C++ da yozilmoqda. C mashina arhitekturasiga bogʻlangan tildir. Lekin yahshi rejalashtirish orqali dasturlarni turli kompyuter platformalarida ishlaydigan qilsa boʻladi.

1983-yilda, C tili keng tarqalganligi sababli, uni standartlash harakati boshlandi. Buning uchun Amerika Milliy Standartlar Komiteti (ANSI) qoshida X3J11 tehnik komitet tuzildi. Va 1989-yilda ushbu standart qabul qilindi. Standartni dunyo boʻyicha keng tarqatish maqsadida 1990-yilda ANSI va Dunyo Standartlar Tashkiloti (ISO) hamkorlikda C ning ANSI/ISO 9899:1990 standartini qabul qilishdi. Shu sababli C da yozilgan dasturlar kam miqdordagi oʻzgarishlar yoki umuman oʻzgarishlarsiz juda koʻp kompyuter platformalarida ishlaydi.

C++ 1980 yillar boshida Bjarne Stroustrup tomonidan C ga asoslangan tarzda tuzildi. C++ juda koʻp qoʻshimchalarni oʻz ichiga olgan, lekin eng asosiysi u obyektlar bilan dasturlashga imkon beradi.

Dasturlarni tez va sifatli yozish hozirgi kunda katta ahamiyat kasb etmoda. Buni taʼminlash uchun ob’ektli dasturlash gʻoyasi ilgari surildi. Huddi 70-chi yillar boshida strukturali dasturlash kabi, programmalarni hayotdagi jismlarni modellashtiruvchi ob'ektlar orqali tuzish dasturlash sohasida inqilob qildi.

C++ dan tashqari boshqa koʻp ob’ektli dasturlshga yoʻnaltirilgan tillar paydo boʻldi. Shulardan eng koʻzga tashlanadigani Xerox ning Palo Altoda joylashgan ilmiy-qidiruv markazida (PARC) tuzilgan Smalltalk dasturlash tilidir. Smalltalk da hamma narsa ob’ektlarga asoslangan. C++ esa gibrid tildir. Unda C ga oʻhshab strukturali dasturlash yoki yangicha, ob’ektlar bilan dasturlash mumkin. Yangicha deyishimiz ham nisbiydir. Ob’ektli dasturlash falsafasi paydo boʻlganiga ham yigirma yildan oshayapti.

C++ funksiya va ob’ektlarning juda boy kutubhonasiga ega. Yani C++ da dasturlashni oʻrganish ikki qismga boʻlinadi. Birinchisi bu C++ ni oʻzini oʻrganish, ikkinchisi esa C++ ning standart kutubhonasidagi tayyor ob’ekt/funksiyalarni qoʻllashni oʻrganishdir.