Cи: история языка программирования, без которого (почти) ничего не работает даже сегодня

Cи: история языка программирования, без которого (почти) ничего не работает даже сегодня

В отличие от естественных языков, которые постоянно развиваются, языки программирования изобретаются и разрабатываются специалистами. Это не означает, что они тоже не будут развиваться, но в данном случае присутствует некая отправная точка, от которой можно проследить начало языка.

Cи есть почти везде, но откуда он появился?

Даже многие разработчики не догадываются об этом, но язык программирования Cи присутствует (почти) повсюду: без ядра Unix, написанного на Cи, у нас были бы другие операционные системы. Не было бы ОС macOS, Windows, Linux, а также мобильных версий IOS и Android. Работа с базами данных была бы немыслима без Cи – многие системы управления написаны на этом языке или на C++, прямом потомке Cи. И даже высокоуровневый язык программирования Python базируется на Cи.
Так откуда же возник на самом деле язык программирования, который все еще широко используется сегодня? Чтобы узнать это, стоит вернуться в Великобританию 1950-х годов – к Кристоферу Стрэтчи. Учитель математики и физики проводил свободное время на каникулах, пытаясь научить Pilot ACE, одного из первых компьютеров Великобритании, игре в шашки. Проект не удался из-за того, что на компьютере было недостаточно памяти для хранения данных.

Кристофер Стрэтч с Ferranti Mark 1
Кристофер Стрэтч с Ferranti Mark 1

С помощью своего друга Алана Тьюринга Стрэтчи сумел создать еще один компьютер, Ferranti Mark 1. Программа на этом устройстве смогла играть в шашки. Слава об успехе Стрэтчи вскоре достигла властей, и с 1952 года он помогал британскому правительству продвигать разработки в области информатики.

CPL

Тем временем для Кембриджского университета создавали новый компьютер – и хотели сразу же разработать для него и новый язык. Три руководителя проекта – Дэвид Хартли, Дэвид Уиллер и Дэвид Бэррон – начали работать над CPL, Кембриджским языком программирования. Позже над этим проектом работали специалисты из Лондона.
Кристофер Стрэтчи должен был возглавить и контролировать проект. Не было недостатка в опыте или энтузиазме – наоборот. Но поскольку Стрэтчи был полон энтузиазма, он все время терялся в мелочах и деталях и не мог расставить приоритеты. Среди научного сообщества CPL долгое время расшифровывался как язык программирования Кристофера.
Со временем CPL становился больше и сложнее – написать компилятор не удалось, и получившийся машинный язык стал бесполезным.

CPL становится BPL

Christopher Stratch
Кристофер Стрэтчи

К счастью, Стрэтчи был переведен на работу на несколько месяцев в Массачусетский технологический институт в начале 1960-х годов. Тем временем в Кембридже Мартин Ричардс должен попытаться развить и упростить CPL. Этой новой версией стал BPL, основной язык программирования. Затем уже Ричардса перевели в Массачусетский технологический институт и продолжили работать со Стрэтчи с BPL.
Об этом, в свою очередь, стало известно Кену Томпсону – изначально он играл ключевую роль в разработке операционной системой Unix, но затем посвятил себя BPL, который все еще был слишком сложен для большинства компьютеров. Томпсону удалось еще больше сократить BPL до только тех функций, которые он считал важными и назвал результат B – это было в 1969 году.
Два года спустя Деннис Ричи захотел расширить B и добавить функции, чтобы язык также был совместим с более быстрыми компьютерами. Так появился New B – NB.

Структурированное программирование в конечном итоге превращает язык NB в Cи

Кен Томпсон
Кен Томпсон

В то же время Кен Томпсон был занят написанием Unix на языке программирования высокого уровня, чтобы операционная система могла быть совместима со всеми компьютерами. Он пробовал для этого NB, но сначала потерпел неудачу. Постепенно Ричи и Томпсон добавляли в NB больше функций, пока не добились успеха. В ходе этого они также разработали структурированное программирование, которого ранее не было ни в одном другом языке программирования.
Эта новая концепция была достаточной причиной для того, чтобы они вдвоем объявили созданный продукт как новый язык программирования – так в 1973 году родился Си. Тот факт, что решение стало успешным и вошло в историю, безусловно, также связан с мини-ЭВМ PDP-11, которая была очень популярна и широко распространена в то время. Unix было очень легко установить на устройстве – и вместе с Unix появился Cи.
В 1970-х годах компьютерами владели в основном университеты, а значит, и студенты имели легкий доступ к новым технологиям. Поскольку большинство этих компьютеров работало под управлением Unix, многие молодые люди смогли освоить навыки Си. Они, в свою очередь, привнесли свои знания и опыт работы с Си в компании практически во всех отраслях, в которых они трудились после окончания учебы.

Cи: старый, но не бесполезный

Cи может считаться старым языком программирования, но он ни в коем случае не в прошлом. Мы обязаны ему концепциям, таким как структурированное программирование, а также его наследникам: C++ и C#. Кроме того, Cи также является быстрым и безопасным языком и поэтому очень популярен в таких сложных областях, как робототехника или интернет вещей. Конечно, много проектов реализовано на Python, но ничто не сравнится с Cи в плане универсальности и простоты.

Роман
Оцените автора
Безопасник
Добавить комментарий