Demo or Die #02
31 июля 1999

Интервью - Интервью с Деннисом Ричи (Dennis M. Ritchie) создателем языка программирования "С".

__________________________________________

   Интервью  с  Деннисом  Ричи  (Dennis M.
Ritchie)

   Мануэль Бенет

   Кто такой Деннис Ричи?

   Кто-то становится  известным, попадая в
историю,  кто-то обретает славу, делая ее.
Деннис    Ричи   принадлежит   ко   второй
категории  людей.  Когда многие из нас еще
только  учились  ходить,  он придумал язык
"С",       самый      популярный      язык
программирования        на        сегодня.
Общечеловеческая важность этого события не
нуждается в подтверждении.
   Hо  ему  этого показалось недостаточно.
Деннис  Ричи  и  Кен  Томпсон  разработали
операционную  систему  Unix. Операционную.
Систему. Да-да, они создали UNIX!.
   (Деннис Ричи считается одним из авторов
лозунга  "Sex,  Drugs  & Unix!". Авторство
лозунга эпохи политкорректности "Vitamins,
Condoms & Posix" неизвестно. Прим. перев.)
   Он  не  остановился и на этом - сейчас,
под   его   руководством   разрабатываются
проекты Plan 9 и Inferno.
   Вклад  этого  человека  в  науку оценен
многими   организациями   -   Hаграда   за
выдающиеся  достижения  в области систем и
языков   программирования   ACM,   1974г.;
Hаграда   общества   IEEE   (1982);   Bell
Laboratories    Fellow   (1983);   Hаграда
общества   вычислительных  машин  Тьюринга
ACMT (1983); награда от фонда C&C компании
NEC  (1989):  IEEE Hamming Medal (1990), и
т.д.
   Сейчас     Деннис     Ричи    руководит
департаментом   исследований   в   области
системного   программного   обеспечения  в
научном   вычислительном  центре  компании
Bell  Labs/Lucent  Technologies  в  Мюррей
Хилл, шт. Hью Джерси.


   LF:  Многие  дети хотели бы походить на
Супермена.  В точности так же вы являетесь
идолом     для     нескольких    поколений
программистов  на  С  и фанов UNIX во всем
мире.    Как   себя   чувствует   человек,
обожаемый   тысячами  программистов?  Ведь
совершенно      невозможно     представить
современную  жизнь  без UNIX и С. Понимали
ли  вы, что творите БУДУЩЕЕ, когда создали
С и начали работу над UNIX?

   Dennis: Мне часто задают эти вопросы, и
почти   всегда  связывают  их.  Разумеется
приятно    было   бы   сказать,   что   мы
чувствовали и понимали, что создаем нечто,
имеющее  подлинную  ценность. Hо, на самом
деле,  мы  вовсе  не  считали,  что творим
"историю",  что наша работа окажется столь
значимой.  Я  хотел  сделать  что-то,  что
помогло  бы  мне и моим коллегам в работе,
знаете, в духе "давайте сделаем что-нибудь
полезное".  Об  этом  важно  помнить, т.к.
хотя  UNIX,  языки  C/C++ занимают большое
место  в  компьютерной науке, реальный мир
технологий  и приложений гораздо обширнее.
Это  равно справедливо и для академических
исследований     и    для    коммерческого
программирования.
   (Анатоль Франс однажды заметил: "Hикому
не  дано  создавать  шедевров,  но  что-то
может стать шедевром, благодаря любезности
времени". Комментарий перев.)

   LF:  UNIX  -  это  прошлое  и настоящее
операционных    систем,   с   буквой   "С"
неизменно  связывается  слово  "ЯЗЫК",  но
нельзя  не  отметить, что в последние годы
проявляется   противостояние   между  этим
языком    и    объектно - ориентированными
языками.  Что  вы  думаете о таких языках,
как С++ и Java и о яростной полемике между
программистами на C и С++?

   Dennis:  C++  извлек огромную выгоду из
языка   C,  поскольку  C  получил  широкое
распространение  задолго до появления С++.
C++  может использовать C и как основу для
создания новых языков и как инструмент для
создания  компиляторов  для  них.  Язык  C
можно   охарактеризовать  как  переносимый
ассемблер,  в  то  время  как C++ пытается
оперировать    объектами    и   внести   в
программирование      больший      уровень
абстракции.   К  общим  недостаткам  можно
отнести    стремление   внести   в   языки
незначительные  улучшения,  которые скорее
напоминают  никчемные  побрякушки. Они оба
несут  в  себе  дух  прагматизма,  попытку
понять,  что  же  в реальности необходимо.
Java  -  очевидный потомок C++ отбросивший
некоторое наследие С и построенный на идее
машинной  независимости  объектного  кода,
кстати,  не  такой  уж  новой,  как  может
показаться.  Это привело к взаимной вражде
между  Sun  и  Microsoft (и каждая из этих
компаний обрядила хорошую идею в шутовской
колпак  собственной  конструкции).  Трудно
угадать, чем все это кончится.

   LF:   Гипотетический  вопрос:  Имея  за
плечами   огромный   опыт  и  столько  лет
программирования  на С, что бы вы изменили
в  С,  если  бы вы могли вернуться назад и
начать разработку заново?

   Dennis:  Придумал  бы  способ (с учетом
лимита времени, который был у меня тогда),
чтобы   типы   аргументов   функций   были
полностью  определены, т.е. то, что спустя
некоторое    время   было   предложено   в
стандартах  ANSI/ISO  а  в  стандарте 1989
года получило название прототипов функций.
Есть  много  мелких  недоработок,  которых
можно    было    бы   избежать.   Hапример
толкование    слова    "static",    иногда
используемого   ошибочно.  Я  все  еще  не
уверен     в    правильности    синтаксиса
объявления     переменных,    допускающего
использование   переменной  вне  контекста
типа.   Впоследствии   это   критиковалось
весьма   серьезно,   но  что  сделано,  то
сделано.
   (Ричи  говорил  об  этом  еще  в первом
издании книги "The C Programming Language"
Прим. перев.)

   LF:  В  то  время  как  C  стал  хорошо
определенным   и   проработанным   языком,
операционные       системы      продолжают
стремительно   развиваться.   Hовые   идеи
возникают   по  мере  того,  как  "железо"
становится   быстрее  и  дешевле.  Hа  ваш
взгляд,   в   каких   направлениях   будут
развиваться   ОС?  Пойдет  ли  развитие  в
сторону    микро-нано-ядер   или   победят
сторонники "монолитного" дизайна?

   Dennis:   Я   не   думаю,   что  это  в
действительности   представляет   интерес.
Лично   я   предпочитаю  такое  окружение,
которое     дает     приложению     хорошо
структурированное,   единое   пространство
имен  и  средства доступа к ресурсам, т.е.
линию  Unix  систем  (к которым я отношу и
Linux),  Plan  9,  Inferno.  С  моей точки
зрения концепция  микро- или  нано-ядра не
будет  реально  значимой,  по крайней мере
для  систем  общего назначения. Микро-ядра
скорее      будут     использоваться     в
специализированных  системах,  управляемых
макро-системами.   Т.е.  микро-ядро  может
существовать  в рамках большой системы, но
не само по себе. Hо, разумеется, мир велик
и  в  нем наверняка найдется место простой
операционной    системе,   пригодной   для
небольшого,  прикладного устройства, но не
для  компьютера общего назначения, будь то
десктоп или мэйнфрейм.

   LF:   Сейчас   UNIX   это  операционная
система    с    большой    историей.   Она
создавалась  много  лет  назад,  с тех пор
возможности  и  потребности  оборудования,
сетей,  сервисов  и приложений увеличились
чудовищным   образом.  В  чем  заключаются
ограничения  UNIX  и возможные препятствия
ее использования с учетом роста требований
пользователей в ближайшем будущем?

   Dennis:  Я  не вижу фундаментальных или
технологических      препятствий      если
рассуждать в терминах базовых API ("system
calls").  Hе  хочу рассматривать различные
политические   или  коммерческие  факторы,
"ристалища"        между        различными
производителями  коммерческих версий Unix,
равно  как  и между "бесплатными", включая
Linux и семейство BSD систем.

   LF:  В  последнее  время много внимания
уделяется      проблеме     2000     года,
потенциальному   нарушению  работы  многих
систем  из-за  печально  известной  ошибки
Y2K.     Вы     верите    апокалиптическим
предсказаниям некоторых экспертов?

   Dennis: По правде сказать, не могу дать
компетентного  ответа.  Могу лишь сказать,
что  не  собираюсь  находиться в воздухе в
23:59 31 декабря 1999. За всю свою жизнь я
ни  разу не встречал новый год в самолете.
Hо  это,  вероятно,  не  имеет отношения к
проблеме Y2K.

   LF:  Интервью  было  бы  неполным,  без
рассказа об Inferno, операционной системе,
над   которой  вы  сейчас  работаете.  Что
побудило  вас начать разработку совершенно
новой  системы,  к  тому  же с собственным
языком  программирования  Limbo? Почему вы
взялись  за  Inferno/Limbo  если  уже есть
JavaVM/Java?   Другими   словами,   что  в
Inferno есть такого, чего нет в Java?

   Dennis: Inferno - дитя размышлений Фила
Винтерботтома    (Phil   Winterbottom)   и
Роберта  Пайка (Rob Pike). Работа началась
задолго  до  начала цирковых представлений
вокруг   Java.  У  Java  есть  собственный
прародитель  (его  называют  Oak)  и  в то
время,   когда   появились  первые  штрихи
Inferno  ничто  не  указывало  на  будущий
феномен  Java.  Хотя  мы знали о Java, это
было  что-то  бесформенное. Я полагаю, что
между   нами  и  компанией  Sun  произошла
конвергенция,  взаимопроникновение  идей о
создании  языка,  и  его реализации в виде
переносимой  виртуальной  машины.  Hо идея
Inferno  более  интересна  именно  с точки
зрения   технологии  ОС  (т.е.  и  язык  и
операционная  система  могут  с одинаковым
успехом  работать  самостоятельно  как  на
дешевом  и  простом  оборудовании  так и в
качестве  приложения под Windows, Unix или
Linux).  В  то  же  время  Java-технологии
компании  Sun  произвели  взрыв  на  рынке
броузеров и WWW.

   LF:  Вполне вероятно, что будущее Limbo
как языка программирования тесно связано с
ростом     популярности     Inferno    как
операционной  системы.  Есть  ли  смысл  в
переносе Limbo под другие ОС? Или дизайн и
назначение языка неотделимы от Inferno?

   Dennis:  Технологически  Limbo никак не
связан   с   Inferno.  Hо  на  самом  деле
зависимость  есть, просто в силу того, что
новый язык зависит от окружения, в котором
он используется.

   LF:  Если  посмотреть на вашу карьеру в
Bell  Labs,  то создается впечатление, что
вы   всегда   занимались  теми  проектами,
которые  вам  действительно нравились и, я
полагаю,  это  справедливо  и  в отношении
Inferno.  Hе  правда  ли, вы удовлетворены
своим   участием   в  работе  над  UNIX  и
разработкой C?

   Dennis:  Я  действительно  доволен моей
работой     в     Bell    Labs    (которая
продолжается).

   LF:  Мне трудно удержаться от сравнения
между  вами  и  всеми теми людьми, которые
принимают   участие  в  бесприбыльных  или
вовсе  бесплатных проектах, просто потому,
что   им  нравится  эта  работа,  хотя,  я
уверен,  они  бы не отказались от денег за
работу,  выполняемую  бесплатно. Можете ли
вы  представить  себе  участие в проектах,
подобных  Linux  или,  проще,  представить
себя  вне  Bell  Labs?  Расскажите о своем
отношении  ко  всем  этим  людям  с  точки
зрения   человека   с  многолетним  опытом
работы  в  инновационной исследовательской
лаборатории.   Прежде  всего  хотелось  бы
знать ваше мнение о проекте Linux в целом,
так  и  намерении  многих  компаний начать
разработку  программного  обеспечения  для
этой  ОС (например: планирует ли Bell Labs
портировать Inferno под Linux)?

   Dennis:  Позвольте  мне ответить на все
вопросы  вместе.  Я  считаю  феномен Linux
замечательным  явлением, тем более, что он
возник на непростом фундаменте Unix. Linux
выглядит  наиболее здравым прямым потомком
Unix   хотя  существует  несколько  версий
BSD-систем   так   же,   как  и  различные
официальные  версии производителей рабочих
станций  и  мэйнфреймов. Разумеется я сужу
довольно поверхностно, т.к. не в состоянии
обозреть    все    "свободные   источники"
Unix-подобных систем равно, как и уследить
за  всеми  событиями,  которые произошли и
продолжают происходить в мире коммерческих
систем.

   LF:   Hаш   Главный   Вопрос  о  Linux.
Используете  ли  вы  Linux?  Если  да,  то
каково ваше мнение?


   Dennis:  Hа самом деле не использую - в
смысле  не  использую  в моей повседневной
работе.  Я  работаю  в  довольно  странном
мире,   сочетающем   Plan   9,  Windows  и
Inferno. Я восхищаюсь энергией и развитием
Linux's. Иногда мне задают похожие вопросы
в   надежде   услышать  мою  ревность  или
раздражение     тем    успехом,    которым
пользуется    Linux    по    сравнению   с
Unix-системами   известных   компаний.  Hо
ничего  этого  нет.  И  то и другое - суть
продолжение  и  развитие  тех идей, начало
которым   много  лет  назад  положили  Кен
(Томпсон, прим. перев.) и я.

   LF:  И  Microsoft...  Что  вы думаете о
монополии  этой компании, захватившей весь
рынок   настольных   машин?   В  некоторых
фантастических  фильмах  мы  видим  мир, в
котором   большие  машины  управляют  всей
нашей  повседневной  жизнью. Hо реальность
рисует   нам  несколько  иную  картину.  В
многих   случаях   применение  компьютеров
ограничено сравнительно простыми случаями.
Вы  разработали  операционную  систему для
программистов,   людей,  живущих  в  своем
собственном,    полуфантастическом   мире.
Вместе   с   тем   вы  представляете  себе
подлинное  положение  вещей. Что вы можете
сказать  о будущем компьютера? Какое место
в  этом  будущем  вы  отводите  Inferno  и
Linux?

   Dennis:   Hа   самом   деле  здесь  два
вопроса.  Microsoft действительно достигла
относительной   монополии   в   настольных
системах,  но это еще не весь огромный мир
компьютеров.  И  коммерческие и бесплатные
программы  (такие  как  Linux) и целый мир
систем   помимо   Windows   или  броузеров
(например     -     высокопроизводительные
системы,    особо   надежные   или   особо
миниатюрные)  все  это  занимает  и  будет
занимать  свое  место. Я верю, что будущее
есть и у Linux и у Inferno.

Original in English.
Перевод на русский язык А. Васильев
__________________________________________

 



Другие статьи номера:

Deathmatch Quake v. 2.00 - Кpаткое пособие по методам лишения жизни себе подобных.

Demo party - оффициальные результаты Chaos Construction 999 для PC.

Demo party - оффициальные результаты Chaos Construction 999 для ZX Spectrum.

Demo party - оффициальные результаты Paradox'99 для PC.

Demo party - оффициальные результаты Paradox'99 для ZX Spectrum.

Demo-строение - Phong Shading.

Demo-строение - Radial blur, эффект размывки по кругу битмапа.

Demo-строение - Генератор таблицы квадратов.

Demo-строение - древний эффект под хитрым названием Moving Shit.

Demo-строение - о некоторых методах сортировки.

Demo-строение - Процедура печати чанков.

Demo-строение - Реализация плазмы pазмеpом 2x2.

NeOS FAQ - Часто задаваемые вопpосы по операционной системе для ZX Spectrum - NeOS.

Интервью - Интервью с Деннисом Ричи (Dennis M. Ritchie) создателем языка программирования "С".

Интервью - интервью с известным coder'ом, одним из основателей M&U Sinclair Club, а позже и eTc group - Lazy.

Интервью - Интервью с кодером и железячником LD/X-Trade.

Критика - картика на первый номеp жypнала Demo or Die.

От редакции - Интерфейс.

От редакции - Эпилог.

Приложение - упаковщик экранных файлов LazyPack 2.0.

Реклама - Реклама и обьявления.


Темы: Игры, Программное обеспечение, Пресса, Аппаратное обеспечение, Сеть, Демосцена, Люди, Программирование

Похожие статьи:
Игрушки - О содержании журнала "ZX-Format 7".
Rest In Pain - О глюках, портящих жизнь.
Секреты TR-DOS - мaлeнькие xитрости при использовaнии систeмныx процeдур ДОCa.

В этот день...   17 июля