Деннис Ритчи

    Язык C — это инструмент, острый как бритва: с его помощью можно создать и элегантную программу, и кровавое месиво.

Брайан Керниган

    Одним из самых популярных языков программирования является язык С, который был создан как инструмент написания операционной системы UNIX в научно-исследовательской фирме Bell Telephone Laboratories американской корпорации AT&T (American Telephone and Telegraph). В 1969 году Кен Томпсон, считавшийся среди коллег лучшим программистом в мире, начал разрабатывать эту систему для мини-компьютера PDP-7 фирмы DEC. А в 1972 году Деннис Ритчи, специалист по системному программированию, который получил степень бакалавра по прикладной математике в Гарвардском университете, активно помогавший разрабатывать UNIX, представил язык С, где сочетались лучшие свойства ассемблера и языков высокого уровня. От ассемблера были взяты гибкие и эффективные средства работы с памятью, а от языков высокого уровня — широкий набор управляющих конструкций, возможность использования сложных структур данных, средств ввода и вывода [1]. Ритчи считал, что новый язык пригодится для работы. И он не ошибся.
    Для повышения скорости функционирования операционных систем при их создании обычно применялся язык низкого уровня — ассемблер, а язык С настолько хорошо себя зарекомендовал, что на нем была написана почти вся операционная система UNIX [2—4].
    Вообще это один из самых универсальных языков программирования. Его можно применять также для создания драйверов внешних устройств, трансляторов языков программирования, текстовых процессоров, программ для решения математических, экономических и многих других прикладных задач [5].
    Название языка соответствует третьей букве английского алфавита. Один из языков, появившийся в 1960-х годах, назывался APL (A Programming Language). Тем самым как бы была занята первая буква алфавита — A (Эй). Во время работы над операционной системой UNIX Томпсоном был создан язык программирования B (Би), “для внутреннего пользования”, который оказал сильное влияние на следующий язык, разработанный Ритчи для тех же целей. [Язык B частично основывался на созданном в Кембриджском университете (шт. Массачусетс) языке BCPL, от Basic Combined Programming Language — базовый комбинированный язык программирования.] Подчеркивая эту преемственность, языку дали название C (Си).
    Первое описание языка было приведено в книге [2]. “Керниган подготовил почти весь пояснительный материал, я же отвечал за приложение, куда было включено справочное руководство по языку, и за главу о взаимодействии с UNIX”, — сообщает Ритчи. Долгое время данное описание считалось стандартом, однако некоторые его места допускали неоднозначное толкование, что породило множество трактовок языка C. Для исправления ситуации при Американском национальном институте стандартов (American National Standards Institute — ANSI) был образован комитет по стандартизации языка, и в 1983 году был утвержден стандарт, получивший название ANSI C [5—7]. “Прямыми потомками” языка C являются языки [8]: C++ (Б.Страуструп, 1984 г.); Concurrent C (Н.Джехани, 1986 г.); Objective C (Б.Кокс, 1986 г.); C* (Thinking Machines, 1987 г.); C+@, ранее Calico (Bell Labs, 1991). Самым известным здесь стал, безусловно, C++.
    После реорганизации AT&T, уже в рамках Lucent Labs, Ритчи возглавлял группу, разрабатывавшую операционную систему Plan 9 (1995 г.). Она явилась основой следующего проекта его группы — операционной системы Inferno, о создании которой было объявлено в апреле 1996 года. Для этой системы Ритчи подготовил язык Limbo [8, 9].
    Сейчас Ритчи (которому в сентябре 2001 года исполнилось 60 лет), имеющий степень бакалавра по физике и магистра по прикладной математике, возглавляет отдел исследований в области системного программного обеспечения в фирме Bell Laboratories.
    В 1983 году Деннису Ритчи и Кену Томпсону за разработку и реализацию языка программирования C и операционной системы UNIX была вручена премия Тьюринга. В 1988 году Ритчи был избран в Американскую национальную инженерную академию (National Academy of Engineering).
    Почему же язык С покорил сердца миллионов программистов? “Главные достоинства C состоят в том, что он предоставляет программисту возможность полного управления реализацией и что программы, написанные на C, работают весьма быстро”, — считает Брайан Керниган. А вот ответ самого Денниса Ритчи [8]: “Язык С — это невероятный, оглушительный и огромный успех. Хотя повороты судьбы ему помогали, он, безусловно, удовлетворил потребности в таком языке реализации систем, который был достаточно эффективным, чтобы заменить ассемблер, и в то же время достаточно абстрактным и гибким, чтобы описывать алгоритмы и взаимодействия в широком спектре программных сред”. При этом “существует масса прекрасных языков (прекраснее, чем С), которые не привились, — отмечает Ритчи, — но кто-то все же выигрывает...”

    Литература
  
1. Дукаревич Г.Б. Введение в программирование на языке Си // Новое в жизни, науке, технике. Сер. “Вычислительная техника и ее применение”, № 4/91.
    2. Kernighan B.W. and Ritchie D.M. The C Programming Language. Prentice-Hall, 1978. [Керниган Б., Ритчи Д., Фьюер А. Язык программирования Си. Задачи по языку Си: Пер. с англ. М.: Финансы и статистика, 1985.]
    3. Язык компьютера: Пер. с англ. М.: Мир, 1989.
    4. Болски М.И. Язык программирования Си. Справочник: Пер. с англ. М.: Ра- дио и связь, 1988.
    5. Стариков Ю.А. Мобильность программ и особенности реализации языка Си. Изд. 2-е, доп. М.: МП “Память”, 1992.
    6. Эй, Би и, наконец, Си // Информатика, № 5/2000.
    7. Юбилей // Информатика, № 34/2001.
    8. Богатырев Р. Летопись языков. Си // Мир ПК, № 8/2001.
    9. Мосени П. Inferno: ОС для сетевых компьютеров // Мир ПК, № 10/1997.

Hosted by uCoz