• USD 39.8
  • EUR 42.4
  • GBP 49.5
Спецпроекты

Судьба программиста

Реклама на dsnews.ua
Скромный, не распиаренный до уровня поп-звезды и не накосивший миллиарды долларов программист "старой школы" Деннис Ритчи сыграл решающую роль в компь

Скромный, не распиаренный до уровня поп-звезды и не накосивший миллиарды долларов программист "старой школы" Деннис Ритчи сыграл решающую роль в компьютерной отрасли.

12 октября из жизни ушел человек-легенда, чьи разработки в компьютерной отрасли имели революционное значение и определили путь ее развития на десятилетия вперед. Говорите, основатель Apple Стив Джобс умер 5 октября? Правильно, но речь идет не о нем, а о Деннисе Ритчи, создателе операционной системы Unix и языка программирования С. Компьютеры, на которых Ритчи воплощал свои идеи в начале 1970-х, либо давным-давно отправлены в утиль, либо стали музейными экспонатами. А созданные им концепции не просто не сошли со сцены  — они продолжают служить фундаментом для современных программных систем.

Так, по данным W3Techs, 63,7% всех существующих веб-сайтов используют операционную систему Unix (во всех существующих вариациях). Операционная система Windows, несмотря на все усилия компании Microsoft, так и не смогла занять больше трети этого рыночного сегмента. Таким образом, фундаментом интернета без преувеличения является Unix. А если подсчитать все "С-подобные" языки программирования, то несложно увидеть, что их доминирование является абсолютным  — по по­пулярности у них нет конкурентов.

Ради интереса
Вряд ли можно объективно ответить на вопрос, кто из великих компьютерщиков является самым великим — Джобс или Гейтс, Брин с Пейджем или Цукерберг? А вот в номинации самого скромного среди великих Деннис Ритчи мог бы победить без труда. "Мой школьный опыт показал, что я недостаточно умен для того, чтобы стать физиком, — писал он в своей автобиографии. — А студенческие годы убедили меня в том, что я недостаточно умен для работы над теорией алгоритмов". Уже имея достаточно заслуг, чтобы претендовать на статус живой компьютерной легенды, Ритчи оставался все тем же скромнягой.

Впрочем, дело тут вовсе не в недостатке способностей или амбиций. Все гораздо проще: тридцатилетний Деннис Ритчи, добравшись до самой "умной" на планете техники, компьютеров, предпочитал делать то, что ему было интересно, а не то, что обещало карьерный рост, деньги или славу. И только потом из этих "развлекалочек" возникли мощнейшие программные разработки.

В 1968 г. коллега Денниса Ритчи Кен Томп­сон, с которым они вместе работали в компании Bell Labs и занимались разработкой операционной системы Multics, написал компьютерную игру "Космическое путешествие". Смысл ее состоял в том, чтобы управлять движением космического корабля и выполнять посадку на различные планеты Солнечной системы. Современных геймеров вряд ли удалось бы заставить играть в такое даже под дулом пистолета, но сорок с лишним лет назад это был шедевр. Но вот беда: "большой" компьютер GE 635, для которого было изначально написано "Путешествие", имел слабенькую графику, и при этом один игровой сеанс на нем  — стоимость машинного времени — обходился в $75. Понятное дело, что программисты этих денег не платили, однако подобная расточительность не одобрялась.

Поэтому возникла идея переписать игру для другого компьютера, PDP-7. Это был "слабенький" мини-компьютер — всего-то пяток шкафов в человеческий рост, и стоил он совсем недорого, $72 тыс. Но графическая подсистема у него была лучше, чем у "старших братьев", и урвать машинное время на нем можно было без труда.

Реклама на dsnews.ua

Впрочем, была и проблема — никакого программного обеспечения, которое можно было бы использовать для игры, на этом компьютере не было и в помине. Пришлось сначала писать модули, позволяющие вводить команды, выводить символы на экран, считывать и записывать данные из файлов, копировать их, удалять и т. д. Эту часть программы написал Деннис Ритчи. По ходу парни увлеклись: возникла идея создать не просто среду для игры, но полноценную операционную систему, на которой можно было бы запускать и другие программы. Несколько дней ушло на "мозговой штурм", два дня — на кодирование. Так родилась Unix.

Безвозмездно, то есть даром
Компания Bell Labs не потратила на создание Unix ни доллара — если, конечно, не считать "позаимствованного" машинного времени. К  инициативе сотрудников боссы относились лояльно: ведь созданную ими операционную систему можно было переносить и на другие компьютеры, и была она намного эффективнее по концепции и реализации, чем существующие аналоги. И когда у компании возникла необходимость вести электронную документацию по патентам, молодые энтузиасты получили предложение: мы дадим вам компьютер помощнее, PDP-11, обеспечим финансирование, а вы сделайте так, чтобы на нем работала ваша Unix и чтобы под ней выполнялись программы для редактирования текстов. Эта задача была выполнена в 1970 г. И в процессе работы над ней стало очевидно, что Unix благодаря сочетанию простоты и мощи является лучшей операционной системой и ее стоит распространить и на другие компьютеры.

И тут у Денниса Ритчи родилась идея, лавры за которую принадлежат, похоже, ему одному. Предыдущие версии Unix были написаны на языке машинных инструкций и для других типов компьютеров все приходилось переписывать заново. Считалось, что иначе попросту не получится: высокоуровневые языки программирования слишком "медленные" для того, чтобы создавать с их помощью системные программы. Ритчи же решил, что можно создать "промежуточный" язык — достаточно высокоуровневый, чтобы программы на нем можно было переносить с одного типа компьютеров на другой и при этом позволяющий выжимать из "железа" все, на что оно способно. Поскольку до этого Ритчи работал над языком программирования под названием В, новая разработка была названа следующей буквой алфавита — С.

В 1972 г. операционная система Unix была заново переписана на языке С. Это было мощнейшее сочетание: Unix можно было без особых затруднений переносить на другие модели компьютеров, а затем писать под нее новое программное обеспечение на С. На Unix и С, как на двух китах, в 1970-х — первой половине 1980-х гг. держался весь мир программирования, и весь стремительный прогресс программного обеспечения основывался именно на этой комбинации отличной операционной системы и мощного языка программирования.

Хиппи-программирование
В отличие от многих культовых компьютерщиков, Деннис Ритчи никогда не гнался за деньгами или славой. Он на всю жизнь остался бородатым хиппарем-интровертом, который на работу приходил во второй половине дня и уходил поздней ночью. Но ведь многим компьютерщикам, с таким же "неформальным" образом жизни, удалось монетизировать свои увлечения и талант, стать миллионерами. Однако не только Ритчи, но и компания Bell Labs в период расцвета Unix не заработали на ней практически ничего. Дело в том, что Bell Labs была исследовательским подразделением американского телефонного гиганта AT&T и в те годы антимонопольное законодательство США запрещало ей продавать "нетелефонные" разработки. Поэтому ни Unix, ни С не могли предлагаться на рынке программного обеспечения: эти программные продукты распространялись либо бесплатно, либо за символические деньги.

И тут снова неизбежно возникает аналогия с продукцией компании Apple. Ни для кого не секрет, что "яблочники", фанатичные приверженцы устройств "от Стива Джобса", являются своеобразной субкультурой. Аналогичный процесс происходил в 1970-е гг. с Unix — вокруг этого, казалось бы, сугубо компьютерного явления возникла мощная и своеобразная социальная общность. Но разница состоит в том, что если субкультура "яблочников" основана на приобретении продукции Apple, то субкультура Unix была основана не на потреблении, а на творчестве, главным девизом которого было "сделай лучше".

При этом Unix-сообщество было контркультурой. Типичные "юниксоиды" 1970-х  гг. — прихиппованные хакеры в мешковатых джинсах и растянутых свитерах — обладая глубочайшими знаниями в самом передовом на тот момент сегменте компьютерной отрасли, не испытывали особого влечения к тому, чтобы конвертировать их в деньги. Да и вряд ли они могли это сделать: понятие "персональный компьютер" казалось уделом далекого будущего, примерно как полеты на Марс. Компьютеры тогда стоили десятки тысяч долларов и принадлежали либо крупным корпорациям, либо университетам. Но это создало уникальную среду общения и обмена знаниями. Никто не заботился об авторских правах и не ставил "палки в колеса" чужим идеям. А зачем, если можно урвать две-три ночи машинного времени у вожделенного компьютера и на практике доказать, что твое решение лучше? Это была совершенно новая территория, где жизненного пространства хватало на всех.

В 1980-е гг. вычислительный мир ра­дикально изменился: настало время персональных компьютеров и их главного пророка Билла Гейтса. Еще через десятилетие появилась Всемирная сеть со своими гуру и подвижниками. Но все достижения компьютерной отрасли, которые сейчас воспринимаются как данность, опираются и еще долго будут опираться на фундамент, заложенный такими людьми, как Деннис Ритчи. Поучительный факт: одним из стратегических решений Стива Джобса после того как он вернулся к штурвалу Apple, стала разработка новой операционной системы для "Маков", а затем и для "Айфонов" с "Айпадами", на основе Unix. Лучшей "основы" просто не было.

И вряд ли есть смысл спорить, у кого больше заслуг: у знаменитого Джобса или у скромного Ритчи. И тот, и другой олицетворяли собой эпоху — просто это были разные эпохи. И, как грустно шутили по этому поводу на компьютерных форумах, "наверное, Бог затевает на небесах очень серьезный компьютерный проект, если сразу после Стива Джобса ему понадобился Деннис Ритчи". 

    Реклама на dsnews.ua