Введение

Краткая история развития языков С и С++

Прежде чем заняться изучением языка программирования С++, есть смысл познакомиться с историей его возникновения. А начать разговор необходимо с языка-предшественника — С.

Язык С (по-русски читается «Си») был создан сотрудником фирмы AT&T из подразделения Bell Labs Денисом Ритчи в 1972г. во время совместной работы с Кеном Томпсоном над операционной системой UNIX. Прообразом С послужил язык Би (B), разработанный К. Томпсоном. Также большое влияние на С оказал язык BCPL, созданный М. Ричардсоном.

Язык С проектировался как инструмент для системного программирования. Удачное сочетание лаконичности конструкций и богатства выразительных возможностей позволило языку С быстро распространиться и стать наиболее популярным языком прикладного и системного программирования. Компиляторы языка С работают почти на всех типах современных компьютеров в операционных системах Windows, Mac OS, Linux, FreeBSD, Solaris и др.

В отличие от многих языков программирования (Ада, Алгол-60 и т.д.), которые вступали в силу после принятия соответствующих национальных и международных стандартов, язык С вначале создавался просто как рабочий инструмент, не претендующий на широкое применение. Стандарта на язык С до 1989г. не существовало, и в качестве формального описания разработчики компиляторов использовали первое издание книги Б. Кернигана и Д. Ритчи, вышедшее в США в 1978г. (переведена на русский язык в 1985г.). Роль неформального стандарта языка С сохранилась за этой книгой и в настоящее время. Не случайно в литературе и документации по компиляторам ссылка на эту работу обозначается специальным сокращением K&R.

Первый стандарт языка С был принят в 1989г. Американским национальным институтом стандартов (American National Standards Institute — ANSI). Эту версию языка обычно обозначают С89. Кроме того, этот же стандарт был принят и Международной организацией стандартов (International Standarts Organization — ISO). В 1995г. стандарт С89 был незначительно изменен.

Язык С++ (по русски читается «Си-Плюс-Плюс»), как развитие С, был создан в 1979г. Бьярни Страуструпом, который в то время начал работать в Bell Labs. Разработка и усовершенствование языка С++ потребовали от создателя больших усилий на протяжении 80-х и большей части 90-х годов. Наконец, в 1998г. был принят ANSI/ISO-стандарт для языка С++. Говоря в самых общих словах, язык С++ является объектно-ориентированной, усовершенствованной версией языка С. С++ построен на основе версии С89, включающей все изменения 1995г., и теперь эту версию С89 называют С-подмножеством языка С++. Несмотря на то, что язык С++ был задуман как набор объектно-ориентированных расширений для языка С, вскоре он развился в самостоятельный язык программирования. В настоящее время его новые средства почти удвоили объем исходного языка. Вряд ли стоит доказывать, что С++ — один из самых мощных компьютерных языков, разработанных до сих пор.

В 1999г. был принят второй ANSI/ISO-стандарт для языка С. Эта версия называется С99. Она включает ряд усовершенствований и несколько новых средств. Одни из этих «новых» средств заимствованы из языка С++, а другие представляют совершенно новые возможности. Следовательно, отдельные элементы, добавленные в С99, несовместимы с языком С++. Это означает, что с появлением версии С99 стандарт языка С больше не является чистым подмножеством языка С++. К счастью, многие «несовместимости» связаны со средствами специального назначения, которые можно легко обойти. Таким образом, и этот вариант языка С позволяет создавать программы, совместимые с языком С++.

Затем в течение многих лет велись работы по выработке новых стандартов языков С и С++, которые завершились в конце 2011г.

В октябре 2011г. вышел новый стандарт языка С++, обозначаемый как C++11 или ISO/IEC 14882:2011. Полная его поддержка обещана в GCC 4.7.

А в декабре 2011г. был принят новый стандарт и для языка С. Эту версию условно называют С11 или ISO/IEC 9899:2011. Часть её возможностей уже сейчас поддерживается компилятором GCC.

В настоящее время существует просто огромное количество С-подобных языков, т. е. языков, основой для которых послужил язык С. Наиболее значимые — это языки C++ Бьярни Страуструпа, Java фирмы Sun и С# (читается Си-Шарп) фирмы Microsoft.

Обсудив вопросы истории языка, перейдем к непосредственному изучению наиболее популярного языка программирования — языка С++.

На верх
Вперёд
Hosted by uCoz