Название: Деннис Ритчи - автор языка С. Кто он сейчас?
Вид работы: статья
Рубрика: Информатика и программирование
Размер файла: 15.63 Kb
Скачать файл: referat.me-139213.docx
Краткое описание работы: Язык Си - это один из универсальных языков программирования высокого уровня, который считается языком системного программирования. Он удачно сочетает в себе свойства и средства языков высокого и низкого уровней.
Деннис Ритчи - автор языка С. Кто он сейчас?
Dennis Ritcie Bio
Язык Си - это один из универсальных языков программирования высокого уровня, который считается языком системного программирования. Он удачно сочетает в себе свойства и средства языков высокого и низкого уровней. Всем известно, что гражданин Америки - Деннис Ритчи - автор языка программирования Си. В настоящее время он является руководителем департамента по Исследованию Системного Программного Обеспечения Компьютерного Научно-Исследовательского Центра Bell Labs. (Head of the System Software Research department in the Computing Sciences Research Center of Bell Labs / Lucent Technologies in Murray Hill, NJ.)
Язык Си тесно связан с операционной системой UNIX, разработанной в стенах Bell Laboratories замечательным программистом Кеном Томпсоном в 1969 году для неказистой малой ЭВМ фирмы DEC PDP-7 при поддержке и участии Денниса Ритчи, автора языка Си. Кен Томпсон написал простенькую систему разделения времени. Однако, она оказалась столь удобной, что было принято решение о покупке более мощной вычислительной машины фирмы DEC PDP-11.
Деннис Ритчи оказался первым пользователем системы Unix на PDP-11. В 1970 году он помог Кену Томпсону перенести ее на новую машину PDP-11. В этот момент Деннис Ритчи разработал и написал компилятор с языка программирования Си.
Деннис Ритчи родился 9 сентября 1941 года в Bronxville, N.Y. Обучаясь в на последнем курсе Гарвардского университета, Ритчи имел особый интерес к физике и прикладной математике. В 1968 году он защищает докторску диссертацию по теме "Подрекурсивные иерархии функций" (subrecursive hierarchies of functions).
Но, задумываясь над приобретенным жизненным опытом в последние студенческие годы, он все больше приходил к убеждению, что его сердце не обжигает жгучая боль при мыслях о физике, что ему куда более ближе компьютеры и все, что с ними связано. Он не горел душой быть экспертом по теории алгоритмов, но испытывал особенное влечение к процедурным языкам программирования.
Деннис Ритчи пришел в Bell Labs в 1967 году, вслед за своим отцом - Alistair E. Ritchie, который очень давно связал свою карьеру с Bell Labs. Его значительной работой в этот период было соавторство с W. Keister and S. Washburn при работе над книгой "The Design of Switching Circuits" ("Дизайн переключателей электрических схем"), которая как бы предвосхищала эру транзисторов. Вскоре после этого он отдает все свое время проекту Мальтикс (Multics project), а затем делает попытку объединить усилия Bell Labs, MIT, and General Electric. Он помогает в написании компилятора для языка BCPI для Мальтикс-машин GE 645 и GE 635 в операционной системе GECOS. В это период он также самолично написал компилятор для языка ALTRAN системы символических вычислений.
В дальнейшем он помогает Кену Томпсону в создании операционной системы UNIX. После того, как UNIX хорошо зарекомендовала себя в Bell Labs и была успешно инсталлирована в ряде образовательных, правительственных и коммерческих проектов, Стив Джонсон и Деннис Ритчи (при поддержке Кена Томпсона) переустанавливают операционную систему UNIX на Interdata 8/32, доказывая тем самым ее переносимость на другие компьютеры и заложив основы для широкого распространения и развития UNIX.
Так, версия Седьмой редакции UNIX из исследовательской группы Bell Labs была взята за основу при создании пятой коммерческой версии UNIX и дистрибутива системы Unix BSD калифорнийского университета Berkeley. Важнейшим техническим решением, которое было добавлено в операционную систему UNIX Денном Ритчи, была разработка механизма потоков (streams) взаимодействия и взаимосвязи устройств, протоколов и приложений.
А еще раньше Деннис Ритчи сделал решающий шаг в эволюции UNIX. Он добавил типы данных и новый синтаксис в язык Кена Томпсона "B". Так был фактически создан новый язык "Си". Язык Си - это фундамент переносимости операционной системы UNIX. В 1973 году Деннис Ритчи и Кен Томпсон переписали ядро системы UNIX на языке Си и отошли от принятого стандарта использовать язык Ассемблер для написания операционных систем. Но это еще не все. Язык Си стал широко использоваться в других областях, как прекрасный инструмент: таких, как многие приложения и системы, разработанные для компьютеров разных размеров и марок: от умещающихся в руках до суперкомпьютеров, использующих язык Си. В настоящее время в США и во всем мире распространен унифицированный международный стандарт на язык Си. Кроме того, язык Си явился основой для работы Строуструпа (Stroustrup's work) по созданию потомка языка Си - языка Си++.
Сегодня Деннис Ритчи как менеджер небольшой группы исследователей способствует распространению операционных систем, языков программирования и современного оборудования для компьютеров. Последним новым достижением этой группы исследователей являются операционные системы PLAN 9 (1995 год) и Inferno (апрель 1996 года).
Денис Ритчи имеет следующие награды и премии:
ACM award for the outstanding paper of 1974 in systems and languages;
IEEE Emmanuel Piore Award (1982), Bell Laboratories Fellow (1983);
Association for Computing Machinery Turing Award (1983);
ACM Software Systems Award (1983);
C&C Foundation award of NEC (1989);
IEEE Hamming Medal (1990).
В 1988 году он был избран в Национальную Академию Инженерных наук. В апреле 1999 года он получает Американскую Национальную Медаль Технологии. Кроме того у него есть и совместные награды с Кеном Томпсоном.
Список литературы
Керниган Б.В., Пайк Р. UNIX - универсальная среда программирования: Пер. с англ.; Предисл. М.И. Белякова.-М.: Финансы и статистика, 1992.-304 с.: ил.
Керниган Б., Ритчи Д. Язык программирования Си: Пер. с англ. / Под ред. и с предисл. Вс.С. Штаркмана.- 2-е изд., перераб. и доп.-М.: Финансы и статистика, 1992.-272 с.: ил.
Березин Б.И., Березин С.Б. Начальный курс С и С++. - М.:ДИАЛОГ-МИФИ, 1996.- 288 с.
Юрий Викторович Климант, учитель информатики и программирования, Краснодарского Центра Образования, программист и Web-мастер сайта.
Похожие работы
-
Системы программирования
Ассемблер предоставляет программисту полную свободу действий при разработке программы, что одновременно является и его достоинством, и недостатком.
-
Статистический анализ текста
Программа, читающая текстовый файл и подсчитывающая количество слов, пробелов, спецзнаков. Язык программирования "Си". Постановка и алгоритм решения задачи. Описание функций программной реализации. Конструирование алгоритма и системные требования.
-
Трансляция, компиляция, интерпретация, линкование
Технология программирования задач для операторных и функциональных языков программирования, разработка алгоритма и отладка программы. Трансляция исходного текста, компоновка программы, ее выполнение с целью определения логических ошибок и тестирование.
-
Алгоритм и программа
Алгоритм -- одно из фундаментальных понятий информатики. Этим словом обозначают точное и безотказное предписание последовательности действий, переводящей автоматическое устройство из исходного состояния в результирующее.
-
Создание программы с использованием программного продукта Turbo Assembler
Формирование опыта создания программ с использованием программного продукта Turbo Assembler. Использование меньшего количества команд и обращений в память, увеличение скорости и уменьшение размера программы. Степень сложности совместной разработки.
-
История языков программирования
Характеристика языков программирования: краткая история, хронология. Основные виды языков программирования: ассемблер; бейсик. Создание и использование формул в Excel. Применение операторов в формулах. Использование функций в Excel. Сайт дома отдыха.
-
Программирование математических задач
Си - стандартизированный процедурный язык программирования. Алгоритм и программа на языке Си для формирования двух матриц с определенной размерностью и значением элементов. Применение матриц в математике. Исходный текст программы и результаты выполнения.
-
Язык программирования высокого уровня С++
Характеристика основных разделов программирования, изучаемых в курсе программирования на языке С++. Описание внутренних переменных, входных и выходных данных. Особенности использования компилятора Microsoft Visual Studio 2008. Руководство пользователя.
-
Выявление функциональной зависимости в массиве данных
Алгоритмическое решение задач как метод формализации, его использование на современном этапе, применение информационных технологий. Разработка программы для определения функциональной зависимости в массиве данных с помощью языка программирования С++.
-
Введение в программирование
Сущность отладки, условия ее выполнения. Ошибки при компиляции программы, создание и изменение исходных символьных файлов. Процесс преобразования кода в машинный. Первый программист, виды трансляторов, классификация и уровни языков программирования.