Сейчас на сайте
Сейчас на сайте 0 пользователей и 1 гость.

Создание и развитие языка Си (C)

Язык Си (C) был создан в начале 70-х годов Дэннисом Ритчи, который работал в компании Bell Telephone Laboratories. Родословная языка Си (C) берет свое начало от языка Алгол и включает в себя Паскаль и ПЛ/I.

Си (C) был разработан как язык для программирования в новой по тем временам операционной системе Unix. ОС Unix была написана на языке ассемблера для ЭВМ PDP-7 и перенесена затем на PDP-11. На язык Си (C) оказал значительное влияние его предшественник, язык Би, созданный Кэном Томпсоном, который в свою очередь является последователем языка BCPL. Язык ВСРL был создан в 1969 г . Мартином Ричардсом в рамках проекта "Комбинированный язык программирования" в Кэмбриджском университете в Лондоне. Вскоре Unix была переписана на языке Си (C), и в 1974 - 75 годах OC Unix фирмы Bell Laboratories стала первым коммерческим продуктом, реализующим идею о том, что операционная система может быть успешно написана на языке высокого уровня, если этот язык является достаточно мощным и гибким.

Книга "Язык программирования Си (C)"

В 1978 г . Брайан Керниган и Дэннис Ритчи написали книгу "Язык программирования Си (C)" (издательство Prentice-Hаll). Эта работа, которая в своем кругу называлась "белой книгой" и "K & R" в остальном мире, стала стандартом описания языка Си (C). На момент создания "K & R" существовали компиляторы языка Си (C) для ЭВМ PDP-11, Interdata 8/32, Honeywell 6000 и IBM 370. В дальнейшем этот список был продолжен.

Компиляторы языка Си (C)

В конце 70-х начали появляться трансляторы Си (C) для микроЭВМ на процессорах 8080 и Z80 с операционной системой СР/M. Скотт Газери и Джим Гибсон разработали и пустили в продажу Тiny-C ("Крошечный Си (C)") - интерпретатор, основанный на подмножестве языка Си (C). Его интерактивная среда программирования очень похожа на ту, что имеет чрезвычайно популярный транслятор Basic фирмы Microsoft. В 1980 г . Рон Кэйн создал свой компилятор Small-C ("Малый Си (C)") для ОС СР/М и микропроцессора 8080. Компилятор Small-C, основанный на подмножестве языка Си (C), был написан на самом Small-C. Проблема курицы и яйца была решена, когда Кэйн создал первую версию компилятора на основе интерпретатора Тiny-C. Затем Small-C методом раскрутки создал самого себя, когда Кэйн вместе с другими, используя ранние версии компилятора, сделалболее совершенный компилятор. Small-C компилирует исходный модуль на языке Си (C) в модуль на языке ассемблера процессора 8080. Следует отметить, что Кэйн предоставил свой компилятор и его исходный текст в общественную собственность.

Примерно в это же время Лео Золман представил свой компилятор BDS-C для СР/М, также основанный на подмножестве языка Си (C). Достоинствами этого компилятора были высокая скорость и возможность совместной компоновки перемещаемых объктных модулей
в загрузочном модуле.Вскоре после BDS-C были созданы компиляторы, предназначенные для СР/М и основанные на полном множестве языка Си (C). Это дало импульс развитию программирования на Си (C) для микроЭВМ. В 1981 г ., в связи с созданием IBM PC, в мире микроЭВМ был сделан значительный скачок вперед.

После появления IBM PC стали появляться и компиляторы Си (C) для этой ПЭВМ. Некоторые компиляторы были получены путем преобразования соответствующих компиляторов для процессора 8080, другие были разработаны специально для IBM PC. В настоящее время на рынке представлены по меньшей мере семнадцать компиляторов языка Си (C) для IBM PC.В 1983 г . Американский Институт Стандартов (ANSI) сформировал Технический Комитет X3J11, устав которого предусматривает создание стандарта языка Си (C). Стандартизация будет распространяться не только на язык, но и на программную среду компилятора, а также на библиотеку стандартных функций. В работе комитета участвуют представители основных фирм - поставщиков компиляторов Си (C), в том числе и для IBM PC, а также многие другие светила из мира программирования на языке Си (C). Усилия комитета X3J11 привлекли внимание средств массовой информации. Предлагаемый стандарт был опубликован, для того чтобы все заинтересованные стороны могли ознакомиться с ним и внести свои предложения. (Сомнительно, что выдающийся программист заинтересуется языком, который создан комитетом, но, видимо, комитет делает хорошее дело, совершенствуя язык, созданный выдающимся программистом). Поскольку большинство поставщиков компиляторов для IBM PC участвуют в работе комитета X3J11, то разрабатываемые ими новые версии компиляторов будут в рамках этого стандарта. (Турбо Си (C), один из последних компиляторов для IBM PC, подчиняется большинству требований стандарта на язык и библиотеку).