Язык Си был разработан и реализован Д. Ритчи в 1972г. в фирме Bell Labs, использовался в самых различных приложениях, в основном под управлением операционной системы UNIX. Он представлял собой дальнейшее развитие языка Би (B), который основывался на созданном в Кембриджском университете языке BCPL (от Basic Combined Programming Language- базовый комбинированный язык программирования), который в свою очередь был потомком Алгола-60. В 1977г. Была начата работа по созданию машинно-независимой версии транслятора с языка Си с целью облегчит его перенос в новые окружения. Результатом этого явилось появление совместимых по входному языку трансляторов с языка Си для 15 различных типов ЭВМ. В ходе работ по созданию мобильного транслятора с языка Си сам он был переработан для повышения мобильности написанных на нем программ.


 


        Первые версии языка программирования Си++ (тогда он назывался "Си с классами") были разработаны в начале 80-х годов Бьярном Страуструпом, сотрудником знаменитой AT&T Bell Labs, где ранее были разработаны операционная система UNIX и язык программирования Си. По признанию самого автора языка, Си++ никогда не разрабатывался на бумаге. Проектирование, реализация и документирование новых возможностей происходили фактически одновременно. Единственной целью разработки было создание языка, на котором было бы удобно программировать автору и его друзьям. За основу был взят популярный в среде профессиональных разработчиков язык программирования Си. Первыми средствами, которыми был расширен Си, стали средства поддержки абстракций данных и объектно-ориентированного программирования. Как это принято в AT&T, описание нового языка не было опубликовано сразу. Первыми его пользователями стали сами сотрудники Bell Labs.
        В 1993 впервые был реализован коммерческий транслятор, и сам язык был назван "С++". Первым транслятором языка был препроцессор cfront, транслирующий программу на Си++ в эквивалентную программу на Си. Если не считать документацию к транслятору cfront, первой книгой с описанием языка стала "The C++ Programming Language" (Addison-Wesley, 1985), переведенная на русский язык и изданная в 1991 году (Страуструп Б. Язык программирования С++. М.: Радио и Связь, 1991). С этого момента началось его бурное распространение и создание многочисленных реализаций.
         C 1985 года в язык были введены новые возможности: множественное и виртуальное наследование, шаблоны функций и классов, обработка исключительных ситуаций. Кардинально изменена семантика совместного использования оператора new, изменен синтаксис для вложенных классов. С момента опубликования и до настоящего момента язык постоянно усовершенствовался и расширялся. Важным этапом в его развитии стала публикация в 1990 году подробного и достаточно строгого описания языка. Фактически одновременно с этим началась стандартизация языка. Инициатором стандартизации выступил не автор языка. Более того, Страуструп всегда довольно прохладно относился к попытке его полной стандартизации и выступал за реализации, в которых базовые возможности языка расширялись бы средствами и библиотеками, характерными только для данной реализации.
         Объединенный ANSI-ISO (ANSI X3J16; ISO WG21/N0836) комитет начал функционировать в конце 1989 года. Целью его работы является создание единого стандарта для языка Си++ и его библиотечных средств. За основу проекта стандарта было взято описание языка, данное в 1990 году. В работе объединенного комитета значительное место занимает изучение возможных изменений текста проекта стандарта, а также уточнение различных правил языка. Позволим себе напомнить, что непосредственный предшественник Си++ - язык Си прошел успешно процесс стандартизации. Работа по его стандартизации завершилась в 1989 году, и стандартизованный вариант сейчас известен под именем ANSI Си. Работа по стандартизации Си++ осложнялась тем, что язык долгое время был открыт для расширений. Си++ стал довольно громоздким языком (сопоставимым разве что с языком Ada), и ни один человек сейчас не в состоянии точно помнить все его детали и тонкости. С момента начала стандартизации несколько изменилась и сама идеология Си++. Изначально автор отвергал возможность использования в языке средств динамического определения типов (rtti), однако в текущем проекте стандарта такие средства имеются. Изначально планировалось, что окончательная редакция проекта стандарта будет опубликована в 1994 году. Эти сроки были безнадежно провалены. Согласно расписанию работы комитета по стандартизации, проект стандарта принятый в апреле 1995 года, был предложен для публичного обсуждения и сделан доступен пользователям Internet. Утверждается, что с этого момента никаких серьезных изменений в текст стандарта вноситься не будет.

Еще о языке С можно прочитать здесь >>
www.opu.odessa.ua/up/tc.htm
athena.vvsu.ru/~andrei/Theory/Kernigan.html
Про С++ можно прочитать здесь >>
www.csa.ru/CSA/books/part_R4.htmr


Фрагмент программы на языке С++
Алгоритм Евклида
(нахождение наибольшего общего делителя)

int NOD (int X,Y)
    {
        while (X!=Y)
            {
                if (X>Y) X- =Y;
                else Y- =X;
            }
        return (X);
       }

Источники информации

lenguage.jpg (11569 bytes)

Под ред. Курочкина В.М.
"Язык компьютера"
Издательство "Мир"
1989 г.

vvedenue.jpg (17477 bytes)

Гольденберг В.А.
"Введение в программирование"
Издательство "Харвест"
1997 г.