RIP Dennis Ritchie (1941-2011)
Oct. 14th, 2011 05:39 pmНа этой неделе умер один из моих кумиров, изобретатель языка C и один из авторов операционной системы Unix, Деннис Ритчи.
Обычным пользователям его имя неизвестно. Но профессионалы-компьютерщики знают, что трудно найти кого-то из живущих людей, кто больше Ритчи повлиял на компьютерный мир, а через него и на весь мир вокруг нас. Написанные на языке C программы управляют практически всеми компьютерами в современном мире, включая сюда отнюдь не только коробку под вашим столом или ноутбук у вас на коленях, но и телефон, на котором вы проверяете почту, и микроконтроллер, который управляет вашей микроволновой печью. Любая современная операционная система - ядро компьютера, которое организует запуск и нормальную работу всех программ - написана на C или потомке этого языка; бесчисленное количество самих программ-приложений - тоже. А книга о языке C, которую Ритчи написал в соавторстве с Керниганом, и 35 лет спустя остается эталоном учебника программирования - по полноте, ясности и одновременно краткости изложения - с которым сравнивают все другие.
Особенностью языка C было то, что он является языком программирования "высокого уровня", т.е. позволяет программисту писать программу, не заботясь об особенностях устройства каждой отдельной модели компьютера, процессора, итд.; - и в то же самое время позволяет программисту, когда ему это действительно нужно, использовать эти особенности и подстраиваться под них. Программисты называют это свойство C "близость к железу", подразумевая под железом метафорически устройство и особенности конкретной модели компьютера. До Ритчи практически единственным языком, "близким к железу", был ассемблер - язык машинных инструкций, собственно указывающих компьютеру, что делать - очень подробный язык, язык "низкого уровня", а главное - разный для разных моделей компьютеров. До Ритчи считалось само собой разумеющимся, что операционная система, организующая работу компьютера, должна быть написана на ассемблере отдельно и заново для каждой модели - и то же самое считалось необходимым для любой программы, которой нужно было пользоваться "близостью к железу". Были, конечно, языки "высокого уровня", но на них можно было решать задачи тоже только "высокого уровня", а чтобы сделать что-нибудь близкое к железу, но необходимое для пользователя, переходили на ассемблер.
Ритчи сделал что-то, что казалось очевидно безнадежным - он нашел золотую середину, изобрел язык программирования, который может одновременно абстрагироваться от конкретных деталей "железа", и подлаживаться под них, когда необходимо. Над этим не работало много других специалистов - потому, что почти никто не мог представить, что это должно быть именно так; а он представил и сделал. Изобретенный им язык лег в основу всего "системного" (т.е. "близкого к железу") программирования, и остается его основой до сих пор. А изобретенная им вместе с Томпсоном операционная система Unix до сих пор (пройдя сквозь много вариантов и версий) используется на значительной части компьютеров в мире, а также оказала огромное влияние на все остальные современные операционные системы.
Ритчи не просто создал что-то новое и полезное, чего раньше не было (к чему стремится любой программист); его изобретения помогли миллионам других людей добиться этой цели.
Обычным пользователям его имя неизвестно. Но профессионалы-компьютерщики знают, что трудно найти кого-то из живущих людей, кто больше Ритчи повлиял на компьютерный мир, а через него и на весь мир вокруг нас. Написанные на языке C программы управляют практически всеми компьютерами в современном мире, включая сюда отнюдь не только коробку под вашим столом или ноутбук у вас на коленях, но и телефон, на котором вы проверяете почту, и микроконтроллер, который управляет вашей микроволновой печью. Любая современная операционная система - ядро компьютера, которое организует запуск и нормальную работу всех программ - написана на C или потомке этого языка; бесчисленное количество самих программ-приложений - тоже. А книга о языке C, которую Ритчи написал в соавторстве с Керниганом, и 35 лет спустя остается эталоном учебника программирования - по полноте, ясности и одновременно краткости изложения - с которым сравнивают все другие.
Особенностью языка C было то, что он является языком программирования "высокого уровня", т.е. позволяет программисту писать программу, не заботясь об особенностях устройства каждой отдельной модели компьютера, процессора, итд.; - и в то же самое время позволяет программисту, когда ему это действительно нужно, использовать эти особенности и подстраиваться под них. Программисты называют это свойство C "близость к железу", подразумевая под железом метафорически устройство и особенности конкретной модели компьютера. До Ритчи практически единственным языком, "близким к железу", был ассемблер - язык машинных инструкций, собственно указывающих компьютеру, что делать - очень подробный язык, язык "низкого уровня", а главное - разный для разных моделей компьютеров. До Ритчи считалось само собой разумеющимся, что операционная система, организующая работу компьютера, должна быть написана на ассемблере отдельно и заново для каждой модели - и то же самое считалось необходимым для любой программы, которой нужно было пользоваться "близостью к железу". Были, конечно, языки "высокого уровня", но на них можно было решать задачи тоже только "высокого уровня", а чтобы сделать что-нибудь близкое к железу, но необходимое для пользователя, переходили на ассемблер.
Ритчи сделал что-то, что казалось очевидно безнадежным - он нашел золотую середину, изобрел язык программирования, который может одновременно абстрагироваться от конкретных деталей "железа", и подлаживаться под них, когда необходимо. Над этим не работало много других специалистов - потому, что почти никто не мог представить, что это должно быть именно так; а он представил и сделал. Изобретенный им язык лег в основу всего "системного" (т.е. "близкого к железу") программирования, и остается его основой до сих пор. А изобретенная им вместе с Томпсоном операционная система Unix до сих пор (пройдя сквозь много вариантов и версий) используется на значительной части компьютеров в мире, а также оказала огромное влияние на все остальные современные операционные системы.
Ритчи не просто создал что-то новое и полезное, чего раньше не было (к чему стремится любой программист); его изобретения помогли миллионам других людей добиться этой цели.
no subject
Date: 2011-10-14 03:47 pm (UTC)no subject
Date: 2011-10-14 03:50 pm (UTC)no subject
Date: 2011-10-14 03:52 pm (UTC)no subject
Date: 2011-10-14 04:53 pm (UTC)no subject
Date: 2011-10-14 05:11 pm (UTC)курица вс яйцо
Date: 2011-10-14 04:59 pm (UTC)Re: курица вс яйцо
Date: 2011-10-14 05:20 pm (UTC)Re: курица вс яйцо
From:Re: курица вс яйцо
From:Re: курица вс яйцо
From:Re: курица вс яйцо
From:Re: курица вс яйцо
From:Re: курица вс яйцо
From:Re: курица вс яйцо
From:Re: курица вс яйцо
From:Вот ещё отличная статья
Date: 2011-10-14 05:01 pm (UTC)http://www.wired.com/wiredenterprise/2011/10/thedennisritchieeffect/
no subject
Date: 2011-10-14 05:17 pm (UTC)no subject
Date: 2011-10-14 05:34 pm (UTC)no subject
Date: 2011-10-14 05:44 pm (UTC)no subject
Date: 2011-10-14 06:10 pm (UTC)no subject
Date: 2011-10-15 10:42 am (UTC)no subject
Date: 2011-10-14 07:03 pm (UTC)no subject
Date: 2011-10-14 07:39 pm (UTC)no subject
Date: 2011-10-14 07:51 pm (UTC)PL/M
(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From: (Anonymous) - Date: 2011-10-15 03:55 pm (UTC) - Expand(no subject)
From:(no subject)
From:(no subject)
From:Forth - не "реальный кандидат"
From:Re: Forth - не "реальный кандидат"
From:Re: Forth - не "реальный кандидат"
From:(no subject)
From:(no subject)
From:no subject
Date: 2011-10-14 08:07 pm (UTC)no subject
Date: 2011-10-14 10:41 pm (UTC)Светлая память.
no subject
Date: 2011-10-15 01:43 am (UTC)about C
Date: 2011-10-15 08:41 am (UTC)"Such higher-level languages had earlier been intended mainly to let people without a lot of programming skill write programs that could run on mainframes."
no subject
Date: 2011-10-15 11:52 am (UTC)- В программировании все же наиболее важно умение понимать и реализовать алгоритмы, а не язык. Паскаль был создан как правильный язык для реализации алгоритмов.
- Большей части программистов нужен именно язык высокого уровня без близости к железу
- За свою долгую карьеру программиста я работал на паре десятков языков и обошелся без использования С, хотя и учил его (сейчас использую С#). Это просто как пример того, что мир не сосредоточен вокруг С.
no subject
Date: 2011-10-15 12:22 pm (UTC)На этот счёт есть разные мнения
(no subject)
From:(no subject)
From:(no subject)
From:no subject
Date: 2011-10-15 02:07 pm (UTC)Наверно, он был художником, творческим человеком, инженером исследователем не в первом поколении.
Я это все пониманию.
Но вопрос у меня такой: а получил ли Ритчи коммерческий результат от своих изобретений? Может он был акционером AT&T или получает лицензионные отчисления от коммерческих версий UNIX? Стал он миллиардером? (Я понимаю, что деньги могли его не интересовать, но все же.)
no subject
Date: 2011-10-15 02:12 pm (UTC)no subject
Date: 2011-10-15 04:23 pm (UTC)no subject
Date: 2011-10-16 01:40 am (UTC)Но профессионалы-компьютерщики знают.. :)
Date: 2011-10-15 05:51 pm (UTC)Вы знаете, а ведь это звучит очень патетик. "профессионалы-компьютерщики" может и не самый верный источник спрашивать кто повлиял на весь мир вокруг нас, да и и сужение "из живущих людей" наводит на мысли.. а именно что после изобретения вакцин, пенецилина и высадки на Луну никаких особых достижений и нет. Весь этот информацианно-компютерная революция это только как двигать информацию назад и вперед, развлекая людей то ли играми но больше доступным порно которое как известно (правда ведь ?) в трафике главный игрок. Вы же (гугл) тоже делаете ничего больше но организуете потоки информации рекламодателей и вольных сёрферов интернета так чтобы они пресекались (как рекламодатели просят в том числе). Ну конечно, арабская весна и и захват уол-стрита..но ведь не интернет и иже с ним двигатель же этого в самом деле. Может главное достижение Денниса Р и информационной революции в том он помог раскрутиться оутсорсингу и перераспределить поток денег в тот же например в Индию или Китай, где бывшие коммунисты оказались на высоте и подняли миллиарды людей из нишеты и голода. Ну в общем и при этом ему не перепрыгнуть например Норман Борлауг кто уж прямо а не косвенно миллиарды людей от голодной смерти спас. Но он конечно в 2009 умер так что не из ныне живущих опять же. А может ему всё таки стоит главный приз 20 века отдать как повлиявшему на весь мир вокруг нас, а не на личный список вебстраничек которые вокруг каждого из нас ?
Ну а Деннису Р нет слов- почёт и уважение и вечный покой. Я вот тоже зарплату получаю в том числе и за то что иногда поинтерамы пользуюсь
Re: Но профессионалы-компьютерщики знают.. :)
Date: 2011-10-15 08:07 pm (UTC)при том, вы сами признаете, человек весьма достойный.
Да, чтобы вспомнить всех, потребуется не один том, и придется углубиться
в глубь веков(тысячелетий. нам свезло :), мы всегда можем про между прочим сказать,- Помню, в прошлом тысячелетии ...) из самых близких - Тьюринг, фон Нейман.
Вы со своей стороны тоже неподготовлено вступили.
Прошлое столетие по праву считают атомным столетием,
и пусть достижение с горьким послевкусием, и оставившее нас
на текущий момент в некоторой растерянности.
Про антибиотики, да, при всём том, что я пренебрегаю врачами и лекарствами до последнего, я в достаточной мере понимаю, что без антибиотиков в моем случае не раз реализовался бы вполне классический сюжет - сгорел в чахотке.
Луна? Орбитальная космонавтика, да, а Луна – ига в амбиции, на приоритеты, политический, маленький шаг, который оказался преждевременным, это как большая иллюзия, вера в всеобъемлющую силу науки(как в свое время первый человек в космосе).
Текущее развитие сильно привязано к раскручиванию спирали потребление,
когда теряется грань между реальностью и рекламой(шоу).
Но если вы адепт чистоты, попробуйте выкинуть сотовой телефон.
etc,etc,etc
Re: Но профессионалы-компьютерщики знают.. :)
From: (Anonymous) - Date: 2011-10-16 07:54 am (UTC) - Expand:)
From: (Anonymous) - Date: 2011-10-16 07:40 pm (UTC) - ExpandRe: Но профессионалы-компьютерщики знают.. :)
From:no subject
Date: 2011-10-16 08:23 am (UTC)no subject
Date: 2011-10-16 04:49 pm (UTC)оффтопик
Date: 2011-10-17 04:52 pm (UTC)