Ритчи, Деннис

Де́ннис Макалистэйр Ри́тчи (Dennis MacAlistair Ritchie; 9 сентября 1941, штат Нью-Йорк, США — 8-12 октября 2011, Беркли-Хайтс, США) — выдающийся американский программист, в основном известен как непосредственный разработчик таких языков программирования как BCPL, B и C, а также один из создателей передовых для своего времени операционных систем UNIX и Multics.[2]

Что важно знать
Деннис Ритчи
Dennis Ritchie
Имя при рождении англ. Thomas Koskum
Дата рождения 9 сентября 1941(1941-09-09)
Место рождения Бронксвилл, штат Нью-Йорк, США
Дата смерти 8 октября 2011(2011-10-08) (70 лет)
Место смерти Беркли-Хайтс, Нью-Джерси, США
Научная сфера информатика
Место работы Bell Labs
Образование
Научный руководитель Патрик Фишер[d][1]
Известен как Один из авторов языка C, Unix
Награды и премии Премия Тьюринга, Национальная медаль США в области технологий и инноваций, Медаль «Пионер компьютерной техники» (1994)

Биография

Деннис родился в Нью-Йорке, городе Бронксвилль. Детство Ритчи провёл в Нью-Джерси. Затем поступил, а после и окончил Гарвардский университет со степенью бакалавра по прикладной математике и физике. По окончании Гарварда Ритчи заинтересовался разработкой операционных систем, и устроился на работу в лабораторию Массачусетского Технологического Университета (MIT). Интересно то, что Деннис не выбирал какой-то один проект, а участвовал сразу в нескольких. Позже он объяснял это тем, что просто искал направление, в котором ему будет интереснее всего развиваться. С 1967 года Деннис устраивается на работу в Bell Labs, где получает все необходимые знания для большинства своих дальнейших разработок. Там же он знакомиться с Кенном Томпсоном, который разделяет его взгляды о перспективе персональных компьютеров.[3]

Появление UNIX и C

До работы в Bell Telephone Laboratories (BTL), ещё в MIT, Ритчи принимал участие в создании операционной системы Multics, которая создавалась специально для компьютера GE-645. Однако в 1969 году BTL отказывается продолжать проект и Ритчи с Томпсоном решают продолжить его вдвоём.

Томпсон создавал игру про Солнечную систему, однако для всех функций, которые он хотел в неё добавить, ему не хватало технического и программного обеспечения. В качестве альтернативы код перенесли на компьютер PDP-7, однако под переносом кода в данном случае подразумевается перезапись перфоленты, что не нравилось Томпсону, поэтому разработчики приняли решение создать для PDP-7 отдельную ОС. Именно так и появилась на свет легендарная операционная система UNIX. Трудно приуменьшить её значение для мира информатики и программирования. Как говорил один из известнейших программистов Роб Пайк: «на ядре UNIX сейчас работает почти весь интернет. UNIX лежит и в основе настольной операционной системе Apple, Mac OS X и IOS. Эти системы установлены в iPhone и iPad».

Сперва программисты создали прототип ядра UNIX на Assembler, однако вскоре, было принято решение перейти на язык программирования более «высокого уровня». В зависимости от уровня языка разработчик получает контроль над разным количеством системных файлов и способов управления ими. Чем выше уровень языка — тем больше у программиста появляется возможностей для использования различного рода модификаций и собственного программного обеспечения. Сперва разработчики пытались воссоздать ядро на FORTRAN, однако в итоге пришли к идее о создании нового языка, основанного на наработках Томпсона. Этот язык они назвали B. Нетрудно догадаться что названия для языков выбирались в алфавитном порядке. Так для буквы A был Assembler. Затем шли B и C.

Разработка успешно продолжилась на языке B, который затем, в связи со множеством улучшений и доработок постепенно превратился в C — функциональный, типизированный и для того времени крайне высокоуровневый язык программирования. Так же из важных различий между B и C стоит выделить то, что B был интерпретируемым, в то время как C уже превратился в компилируемый. Разницу между этими типами в том, что первый форматируется в машинный код в процессе выполнения, по блокам, в то время как второй сперва полностью форматируется, а затем выполняется компьютером. Данное различие сильно влияло на скорость выполнения программы в пользу C.[4]

Влияние C

Сложно переоценить то влияние, которое оказал язык C на сферу программирования. Структуры данных, которые Ритчи выбрал за основу языка, дали мощный толчок в переосмыслении самого принципа создания языков программирования и типов данных как таковых. Данный взгляд на архитектуру разработки был не только новаторским, но и в конечном итоге привёл к появлению объектно-ориентированных языков, без которых сейчас невозможно представить современные многоступенчатые системы и сложные многопоточные алгоритмы. Большинство популярных сейчас языков программирования тоже основаны на C: Python, Ruby, Java, C++ и так далее. C давал программисту возможность высокоуровневой разработки, но в то же время обеспечивал контроль над низкоуровневыми процессами, давая практически полный контроль над происходящими в компьютере процессами.

В 1973 году Ритчи и Томпсон заканчивают написание книги «Язык программирования C», которая и по сей день является классическим, не теряющим актуальности учебником.

После UNIX

По мнению Ритчи и Томпсона у UNIX была одна большая проблема выраженная в слишком неудобной и неприспособленной к стремительно развивающейся отрасли программирования архитектуре. В попытке «залатать» этот недостаток ОС пытались всячески приспособить к новым реалиям IT-мира, однако это превращало изначально простую и понятную систему в медленную и сложную систему с нагромождением из модулей и доработок, а значит терялся изначальный смысл самой UNIX. В 1981 году BTL полностью отказываются от UNIX, начиная создание абсолютно новой ОС — Plan 9, которая затем станет фундаментом для другой ОС — Inferno. Специально для Inferno разрабатывается новый язык программирования — Limbo, основу которого также составляет C.

Признание

  • В 1983 году Дэнниса награждают премией Тьюринга.
  • В 1998 году ему присуждают Национальную медаль в области технологий.

Жизнь после BTL и смерть

После ухода из Bell Laboratories Ритчи продолжает исследования и разработки в области операционных систем. К сожалению, о его личной жизни практически ничего не известно, так как он был достаточно закрытым и необщительным человеком. 12 октября 2011 года Ритчи был найден мёртвым дома у себя дома.[5] Так как он жил один, невозможно установить точную дату и причину смерти. Предположительно он скончался от рака простаты, который до этого несколько месяцев лечил. Ритчи умер спустя неделю после смерти Стива Джобса, однако в отличии от последнего, это осталось практически незамеченным. После его смерти историк Пол Черуцци сказал:

«Ритчи всегда был за кулисами, его имя не было известно обывателям, но, если заглянуть в компьютер с микроскопом, следы его работы встречаются повсюду»

Также после смерти один из его коллег сказал, что Ричи никогда не думал, что C будет чем-нибудь стоящим.

См. также

Награды

Примечания

Литература

  • Керниган Б. У., Ритчи Д. М. Язык программирования C = The C programming language. — 3-е изд. — СПб.: Невский Диалект, 2001. — 352 с. — ISBN 5-7940-0045-7.

Ссылки