C - статьи

       

Ab initio


Сначала - вкратце о причинах, мотивациях, побуждениях и, разумеется, проблемах, приведших к появлению этого языка. Короче говоря: почему и зачем сдалось обычно крайне занятым западным буржуазным умам (читай - программистам) тратить свое драгоценное время, измеряемое в человеко-годах (man-year), на разработку очередного мало кому известного языка программирования электронно-вычислительных машин с приблизительным порядковым номером в "несколько_(десятков) тысяч_с_чем-то".

Для проектировщика/разработчика компилятора получение сносного машинного кода для различных аппаратных платформ представляется весьма сложной задачей. Так, одни пробуют использовать многоцелевой генератор кода из пакета компиляционных программных средств сторонних производителей. Но генераторы кода обладают чрезмерной (сравнительно) сложностью и достаточно непросты (опять же, относительно) в эксплуатации и, к тому же, они существенно сужают/ограничивают выбор языков реализации, что ставит их "вне закона" - или, как говорят в просторечии, делает их негодными для написания транслятора.

Другие "творцы" пробуют использовать язык С в роли портабельного ассемблера. К сожалению, С никогда не претендовал на такую роль - он язык программирования, а не язык ассемблера. Разница есть - и довольно основательная. C ограничивает реализацию в конкретном соглашении вызовов, делает невозможными вычисления целей переходов (targets of jumps), не обеспечивает поддержку сборки мусора (garbage collection) и владеет весьма скудной поддержкой исключений (exception handling) или отладки. (Приведенные утверждения не стоит понимать как критику C - просто этот язык разрабатывался для несколько других целей.)

Слова эти не были пустым звуком для гарвардской команды исследователей: Джона Диаса (John Dias), Рубена Олински (Reuben Olinsky), Кристиана Лайндига (Christian Lindig), Кэвина Ридуайна (Kevin Redwine), Нормана Рэмзи (Norman Ramsey), работавших в сотрудничестве с Саймоном Пэйтоном Джонсом (Simon Peyton Jones) из Microsoft Research в Кембридже,- которые успешно запустили в свет концепцию совершенно нового портабельного ассемблера.



Содержание раздела