?

Log in

No account? Create an account
RIP Dennis Ritchie (1941-2011) - Поклонник деепричастий [entries|archive|friends|userinfo]
Anatoly Vorobey

[ website | Website ]
[ userinfo | livejournal userinfo ]
[ archive | journal archive ]

Links
[Links:| English-language weblog ]

RIP Dennis Ritchie (1941-2011) [окт. 14, 2011|05:39 pm]
Anatoly Vorobey
На этой неделе умер один из моих кумиров, изобретатель языка C и один из авторов операционной системы Unix, Деннис Ритчи.

Обычным пользователям его имя неизвестно. Но профессионалы-компьютерщики знают, что трудно найти кого-то из живущих людей, кто больше Ритчи повлиял на компьютерный мир, а через него и на весь мир вокруг нас. Написанные на языке C программы управляют практически всеми компьютерами в современном мире, включая сюда отнюдь не только коробку под вашим столом или ноутбук у вас на коленях, но и телефон, на котором вы проверяете почту, и микроконтроллер, который управляет вашей микроволновой печью. Любая современная операционная система - ядро компьютера, которое организует запуск и нормальную работу всех программ - написана на C или потомке этого языка; бесчисленное количество самих программ-приложений - тоже. А книга о языке C, которую Ритчи написал в соавторстве с Керниганом, и 35 лет спустя остается эталоном учебника программирования - по полноте, ясности и одновременно краткости изложения - с которым сравнивают все другие.

Особенностью языка C было то, что он является языком программирования "высокого уровня", т.е. позволяет программисту писать программу, не заботясь об особенностях устройства каждой отдельной модели компьютера, процессора, итд.; - и в то же самое время позволяет программисту, когда ему это действительно нужно, использовать эти особенности и подстраиваться под них. Программисты называют это свойство C "близость к железу", подразумевая под железом метафорически устройство и особенности конкретной модели компьютера. До Ритчи практически единственным языком, "близким к железу", был ассемблер - язык машинных инструкций, собственно указывающих компьютеру, что делать - очень подробный язык, язык "низкого уровня", а главное - разный для разных моделей компьютеров. До Ритчи считалось само собой разумеющимся, что операционная система, организующая работу компьютера, должна быть написана на ассемблере отдельно и заново для каждой модели - и то же самое считалось необходимым для любой программы, которой нужно было пользоваться "близостью к железу". Были, конечно, языки "высокого уровня", но на них можно было решать задачи тоже только "высокого уровня", а чтобы сделать что-нибудь близкое к железу, но необходимое для пользователя, переходили на ассемблер.

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

Ритчи не просто создал что-то новое и полезное, чего раньше не было (к чему стремится любой программист); его изобретения помогли миллионам других людей добиться этой цели.
СсылкаОтветить

Comments:
Страница 1 из 2
<<[1] [2] >>
[User Picture]From: hervejoncour
2011-10-14 03:47 pm
книжка Риччи по C читана года так в 90, кажется .... классная была книжка.
(Ответить) (Thread)
[User Picture]From: tetushka
2011-10-14 03:50 pm
Жаль. Его книга была самой тоненькой из всех книг по программированию, которые мне попадались в жизни - и самой лучшей, особенно тогда, в начале.
(Ответить) (Thread)
[User Picture]From: dimrub
2011-10-14 03:52 pm
RIP.
(Ответить) (Thread)
[User Picture]From: ygam
2011-10-14 04:53 pm
А кто тебя на самолете катал, я забыл?
(Ответить) (Thread)
[User Picture]From: avva
2011-10-14 05:11 pm
Томпсон.
(Ответить) (Parent) (Thread)
[User Picture]From: french_man
2011-10-14 04:59 pm

курица вс яйцо

Толя, вот есть нечто, чего я не понимаю. Все говорят, что юникс написан на Си. Но чтоб оттранслировать этот написанный на си юникс, нужно его погрузить в какую-то уже готовую среду. Эта среда юниксом быть не может. Что она тогда?
(Ответить) (Thread)
[User Picture]From: dimrub
2011-10-14 05:20 pm

Re: курица вс яйцо

Это называется cross compilation: когда компилятор для некоего языка, который должен производить машинный код для архитектуры X, сам бежит на архитектуре Y. Всегда, когда разрабатывают новую архитектуру или новую операционку, сначала пишут кросс-компилятор (затем иногда компилируют им самого его, и полученный код является уже не кросс- а нативным компилятором).
(Ответить) (Parent) (Thread) (Развернуть)
[User Picture]From: dmarck
2011-10-14 05:01 pm

Вот ещё отличная статья

"Dennis Ritchie: The Shoulders Steve Jobs Stood On"
http://www.wired.com/wiredenterprise/2011/10/thedennisritchieeffect/
(Ответить) (Thread)
[User Picture]From: olkab
2011-10-14 05:17 pm
Да.
(Ответить) (Thread)
[User Picture]From: amigofriend
2011-10-14 05:34 pm
Да, в общем-то Ритчи для компьютеров был как Лес Пол для музыки. RIP
(Ответить) (Thread)
[User Picture]From: burrru
2011-10-14 05:44 pm
Очень хорошие и правильные слова. Светлая память.
(Ответить) (Thread)
[User Picture]From: sinm
2011-10-14 06:10 pm
Доступно написано. Кажется, что немало времени потратил на этот текст. Спасибо.
(Ответить) (Thread)
[User Picture]From: avva
2011-10-15 10:42 am
Я старался, да. Спасибо.
(Ответить) (Parent) (Thread)
[User Picture]From: vodianoj
2011-10-14 07:03 pm
ז''ל
(Ответить) (Thread)
[User Picture]From: oleg96345
2011-10-14 07:39 pm
Странно, неужели никто в то время не сделал какой-то другой вариант такого языка, с такими же достоинствами?
(Ответить) (Thread)
[User Picture]From: ygam
2011-10-14 07:51 pm
PL/360, основанный на безумном языке PL/I.
PL/M
(Ответить) (Parent) (Thread) (Развернуть)
[User Picture]From: leonidph1972
2011-10-14 08:07 pm
RIP !
(Ответить) (Thread)
[User Picture]From: cryinstone
2011-10-14 10:41 pm
Хорошо написано.
Светлая память.
(Ответить) (Thread)
[User Picture]From: panchul
2011-10-15 01:43 am
RIP
(Ответить) (Thread)
Страница 1 из 2
<<[1] [2] >>