Как начинался компьютер
Компьютерная революция
Двоичный код
Разработки военных лет
Интегральные микросхемы
Микрокомпьютер
Персоны
Сеть
Язык компьютера
Развитие ПО
Гибкие системы
Средства разработки
Информатика
Вычислительная наука
Операционные системы
Искусственный интеллект
Предыстория
Поиск
Знания и рассуждения
Логика
Робототехника
 

 
История языка C++ Печать

Язык С (читается "Си") создан в начале 70х годов Дэнисом Ритчи в Bell Telephone Laboratories для ОС UNIX. Предшественником C является язык B ("Би"), созданный Кэном Томпсоном, который в свою очередь имеет корни в языке Мартина Ричардсона BCPL. Язык BCPL был создан в 1967 году как язык для написания компиляторов и программного обеспечения операционных систем. Кен Томпсон предусмотрел много возможностей в своем языке B для создания ранних версий операционной системы Unix в Bell Laboratories в 1970 году на компьютере DEC PDP-7. Языки BCPL и B были языками без определения типов данных - каждай элемент данных занимал одно "слово" в памяти, и бремя обработки элемента данных, например, как целого или действительного числа падало на плечи программиста.

Язык C был первоначально реализован на компьютере DEC PDP-11 в 1972 году. С использует многие важные концепции BCPL и B, а также добавляет типы данных и другие свойства. Первоначально C приобрел широкую известность как язык разработки операционной системы Unix. Сегодня фактически все новые операционные системы написаны на C или C++. В течение двух последних десятилетий C стал доступным для большинства компьютеров. C является независимым от аппаратных средств. При тщательной разработке на C можно написать мобильные программы, переносимые на большинство компьютеров.

В 1978 г. Брайн Керниган и Денис Ритчи написали книгу "Язык программирования Си" (издательство Prentice-Hall) которую можно рассматривать как некоторый стандарт языка "K & R". Ее называют белой книгой (Вы можете найти ее в разделе "Книги и учебники").

Широкое распространение языка C на различных типах компьютеров (иногда называемых аппаратными платформами) привело, к сожалению, ко многим вариациям языка. Они были похожи, но несовместимы друг с другом. Это было серьезной проблемой для разработчиков программ, нуждавшихся в написании совместимых программ, которые можно было бы выполнять на нескольких платформах. Стало ясно, что необходима стандартная версия C. В 1983г. ANSI (Американский Национальный Комитет Стандартов) сформировал технический комитет X3J11 для создания стандарта языка C (чтобы "обеспечить недвусмысленное и машинно-независимое определение языка"). В 1989 стандарт был утвержден. ANSI скооперировался с ISO (Международной Организацией Стандартов), чтобы стандартизовать C в международном масштабе; совместный стандарт был опубликован в 1990 году и назван ANSI/ISO 9899:1990. Этот стандарт усовершенствуется до сих пор и поддерживается большинством фирм разработчиков компиляторов.

С++ был разработан Бьерном Страуструпом. "Я придумал C++, записал его первоначальное определение и выполнил первую реализацию. Я выбрал и сформулировал критерии проектирования C++, разработал его основные возможности и отвечал за судьбу предложений по расширению языка в комитете по стандартизации C++, - пишет автор самого популярного языка программирования. - Язык C++ многим обязан языку C, и язык C остается подмножеством языка C++ (но в C++ устранены несколько серьезных брешей системы типов C). Я также сохранил средства C, которые являются достаточно низкоуровневыми, чтобы справляться с самыми критическими системными задачами. Язык C, в свою очередь многим обязан своему предшественнику, BCPL; кстати, стиль комментариев // был взят в C++ из BCPL. Другим основным источником вдохновения был язык Simula67. Концепция классов (с производными классами и виртуальными функциями) была позаимствована из него. Средства перегрузки операторов и возможность помещения объявлений в любом месте, где может быть записана инструкция, напоминает Algol68.

Название C++ выдумал Рик Масситти. Название указывает на эволюционную природу перехода к нему от C. "++" - это операция приращения в C. Чуть более короткое имя C+ является синтаксической ошибкой; кроме того, оно уже было использовано как имя совсем другого языка. Знатоки семантики C находят, что C++ хуже, чем ++C. Названия D язык не получил, поскольку он является расширением C и в нем не делается попыток исцеляться от проблем путем выбрасывания различных особенностей... Изначально C++ был разработан, чтобы автору и его друзьям не приходилось программировать на ассемблере, C или других современных языках высокого уровня. Основным его предназначением было сделать написание хороших программ более простым и приятным для отдельного программиста. Плана разработки C++ на бумаге никогда не было; проект, документация и реализация двигались одновременно. Разумеется, внешний интерфейс C++ был написан на C++. Никогда не существовало "Проекта C++" и "Комитета по разработке C++". Поэтому C++ развивался и продолжает развиваться во всех направлениях, чтобы справляться со сложностями, с которыми сталкиваются пользователи, а также в процессе дискуссий автора с его друзьями и коллегами".

Java и C#

Одной из быстро развивающихся областей программирования - интернет, во всем его разнообразии. Для работы во "Всемирной Паутине" каждый день появляются новые программы, а старые - неприрывно совершенствуются. И действительно, Интернет за последние годы сделал такой огромный прыжок в сторону проникновения во все сферы человеческой жизни, что не нужно быть пророком, чтобы сказать: "Интернет вскоре будет такой же привычной вещью, как сеть булочных в вашем городе".

Именно по этой причине разработчики компиляторов начали искать универсальный язык программирования, чтобы воплотить в единую систему все подключенные к сети приборы, будь то суперкомпьютеры или какие-нибудь холодильники с автоматическим заказом закончившихся продуктов. Именно для таких целей в 1991 году компания Sun Microsystems финансировала внутрикорпоративнный исследовательский проект под кодовым названием "Green". В результате работы был создан язык на основе языка C и C++, который его создателем, Джеймсом Гослингом (James Gosling), был назван "Oak", в честь дуба, растущего за окном здания Sun. Позже было обнаружено, что язык программирования с названием Oak уже существует. Когда группа разработчиков фирмы Sun зашла в меcтное кафе, было предложено имя Java, и оно закрепилось за языком.

Однако проект "Green" столкнулся с некоторыми трудностями. Рынок интеллектуальных бытовых электронных приборов (на который ориентировались разработки) развивался не так быстро, как ожидали разработчики Sun. Но благодаря взрыву популярности WWW в 1993 году, разработчики Sun увидели непосредственный потенциал использования Java для создания Web-страниц с тук называемым динамическим содержимым (dynamic content).

Sun официально объявила о языке Java на торгово-промышленной выставке в мае 1995 года, где проект привлек большое внимание. Плоды дальнейшего распространение этого языка мы видим в интернете чуть ли не на каждом шагу.

В июне 2000 года компания Microsoft анонсировала платформу .NET и новый язык программирования, получивший название C# (читается "Си шарп"). C# - это строго типизированный объектно-ориентированный язык, призванный обеспечить оптимальное сочетание удобства, простоты, выразительности и производительности. Платформа .NET основана на использовании общей среды выполнения кода CLR (Common Language Runtime), подобной виртуальной Java-машине, и набора библиотек, доступных для ряда языков программирования. Независимо от того, какой язык используется в процессе разработки, программа компилируется в промежуточный код IL (Intermediate Language). C# и .NET в некотором смысле являются "родственными душами": некоторые свойства языка специально разрабатывались, чтобы обеспечить комфортную работу в среде .NET, в то же время и некоторые свойства .NET специально закладывались для поддержки C#, хотя .NET нацелена на использование многих языков программирования. Язык C# разрабатывался с учетом опыта многих предшествующих ему языков программирования, но в первую очередь, конечно, C++ и Java. Родителями C# стали Anders Hejlsberg, получивший известность, как автор Delphi, и Scott Wiltamuth.