Без Денниса Ритчи не было бы Джобса
Современные компьютеры в том виде, в каком мы их знаем, не существовали бы без Денниса Ритчи. Вспоминая отца C и UNIX в день его 80-летия.
Деннис Ричи
Примечание редактора: эта статья была первоначально опубликована в 2011 году и обновлена в 2022 году.
Одиннадцать лет назад в следующем месяце мы потеряли двух гигантов отрасли. Одному из них сегодня исполнилось бы 80 лет.
Нельзя отрицать, что Стив Джобс принес нам инновации и знаковые продукты, которых мир никогда не видел, а также культ потребителей и конечных пользователей, которые мифологизировали его.
Подобные, вероятно, больше никогда не появятся.
Когда Джобс ушел из жизни, я выразил свое почтение и признал его влияние, как и многие в этой отрасли, несмотря на мои документально подтвержденные разногласия с этим человеком и его компанией.
Но «волшебные» продукты, созданные Apple и Стивом Джобсом, а также многими другими компаниями, обязаны почти всем, что мы знаем и о чем пишем в современных компьютерах, в том виде, в котором они существуют сегодня, Деннису Ритчи, который скончался 12 октября 2011 года в возраст 70 лет.
Деннис Ричи?
Молодое поколение, читающее эту колонку, вероятно, чешет затылки. Кем был Деннис Ритчи?
Деннис Ричи не был каким-то дотошным вундеркиндом-миллиардером из Кремниевой долины, который озадачивал публику презентациями, которые проводились только стоя, в своей минималистской черной водолазке с новыми блестящими продуктами и дикой риторикой, направленной против его конкурентов.
Нет, Деннис Ритчи был бородатым, несколько растрепанным ученым-компьютерщиком, который носил кардиганы и имел грязный офис.
В отличие от Джобса, бросившего колледж, он был доктором философии, выпускником Гарвардского университета со степенями по физике и прикладной математике.
И вместо блестящей Кремниевой долины он работал в AT&T Bell Laboratories в Нью-Джерси.
Да, Джерси.Как в «Какой выход?»
Самый популярный язык C++ (произносится как «C plus plus»), который был представлен Бьярном Страуструпом в 1985 году и добавил поддержку объектно-ориентированного программирования и классов, используется в различных операционных системах, включая все основные производные UNIX, включая Linux. и Mac, и является основным языком программирования, который использовался для разработки программного обеспечения Microsoft Windows в течение как минимум 20 лет.
Objective-C, созданный Брэдом Коксом и Тоддом Лавом в 1980-х годах в компании Stepstone, добавил в язык возможности обмена сообщениями Smalltalk, еще больше расширив объектно-ориентированные возможности языка и возможности повторного использования кода.
Первоначально он считался малоизвестной производной от C, пока не был популяризирован в операционных системах NeXTStep и OpenStep в конце 1980-х и начале 1990-х годов на компьютерных системах NeXT Стива Джобса, компании, которую он основал после того, как совет директоров Apple отстранил его от власти в 1985 году.
То, что произошло «следующим», конечно, является историей вычислений. Apple приобрела NeXT в 1996 году, а Джобс вернулся и стал генеральным директором компании в 1997 году.
В 2001 году Apple выпустила Mac OS X, которая активно использует Objective-C и объектно-ориентированные технологии, представленные в NeXTStep/OpenStep.
В то время как C++ также широко используется на Mac, Objective-C используется для программирования собственного объектно-ориентированного API «Cocoa» в XCode IDE, который играет центральную роль в функциях распознавания жестов и анимации в iOS, на которых работают iPhone и Айпад.
Objective-C также предоставляет платформы для Foundation Kit и Application Kit, которые необходимы для создания собственных приложений OS X и iOS.
У Microsoft есть производная версия C на C# (произносится как «C Sharp»), которая была представлена в 2001 году и послужила основой для программирования в среде .NET.
C# также является основой для программирования новых современных приложений в среде выполнения Windows (WinRT), которая превратилась в универсальную платформу Windows (UWP) в Windows 10. Он также используется в Linux и других производных Unix в качестве программной среды Mono, портируемой версии. платформы .NET.
Но влияние C не ограничивается производными от языка C. Java, важный корпоративный язык программирования (превратившийся в Dalvik и среду выполнения Android, которая используется в качестве основной среды программирования для Android), в значительной степени основан на синтаксисе C.
Другие языки, такие как Ruby, Perl и PHP, которые составляют основу современной динамической сети, используют синтаксис, введенный в C, созданный Деннисом Ритчи.
Так что можно сказать, что без работы Денниса Ритчи у нас не было бы современного программного обеспечения… вообще.
Я мог бы закончить эту статью просто рассказом о том, что означает разработка Ричи языка C для современных вычислений и как она влияет на каждого. Но на самом деле я бы описал только половину дела жизни этого человека.
UNIX: операционная система, с которой все началось
Ритчи также является соавтором операционной системы UNIX. Конечно, после создания прототипа на языке ассемблера, в начале 1970-х годов он был полностью переписан на C.
С момента первой реализации Unics, загруженной на DEC PDP-7 в 1969 году, она видоизменилась во множество других подобных операционных систем, работающих на различных системных архитектурах.
Назовите крупного поставщика компьютеров, и каждый из них когда-либо имел реализацию UNIX. Даже Microsoft, которая когда-то владела продуктом под названием XENIX и с тех пор продала его компании SCO (ныне несуществующей).
Вам захочется щелкнуть и увеличить это изображение, чтобы лучше понять эту «семью».
По сути, существует три основных направления.
Одна ветвь — это UNIX-системы «System V», которые мы сегодня знаем как IBM AIX, Oracle Solaris и HP-UX от Hewlett Packard. Все они считаются «большими железными» операционными системами, которые управляют критически важными транзакционно-ориентированными бизнес-приложениями и базами данных на крупнейших предприятиях мира, входящих в список Fortune 1000.
Без UNIX-систем System V компания из списка Fortune 1000, вероятно, ничего бы не добилась. Бизнес по сути остановился бы.
Они могут составлять всего лишь от 10 до 20 процентов компьютерного населения любого конкретного предприятия, но это очень важные 20 процентов.
Вторая ветвь, BSDs (Berkeley Systems Distribution), включает FreeBSD/NetBSD/OpenBSD, которые составляют основу как для Mac OS X, так и для iOS, на которой работают iPhone и iPad. Они также являются основой, поддерживающей большую часть критически важной инфраструктуры, обеспечивающей работу Интернета.
Третья ветвь UNIX вообще не является ветвью — GNU/Linux. Ядро Linux (разработанное Линусом Торвальдсом) в сочетании с программами, инструментами и утилитами пользовательского пространства GNU обеспечивает полную повторную реализацию «UNIX-подобной» или «UNIX-совместимой» операционной системы с нуля.
Linux, конечно, стала самой разрушительной из всех операционных систем UNIX. Он масштабируется от самых маленьких: от встроенных микроконтроллеров до смартфонов, планшетов, настольных компьютеров и даже самых мощных суперкомпьютеров.
Один из таких суперкомпьютеров Linux, IBM Watson, победил Кена Дженнингса в Jeopardy! В то время как мир наблюдал за этим с трепетом.
Тем не менее, важно признать, что Linux и GNU не содержат кода UNIX, отсюда и рекурсивная фраза свободного программного обеспечения «GNU — это не UNIX».
Но по замыслу GNU/Linux во многом похож на UNIX, и можно сказать, что если бы UNIX не была разработана Ричи и его коллегами Брайаном Керниганом, Кеном Томпсоном, Дугласом Маклроем и Джо Оссанной в Bell Labs, никогда бы не было были какие-либо движения за Linux или программное обеспечение с открытым исходным кодом.
Или Фонд свободного программного обеспечения, или Ричард Столлман, который будет рад, что Стив Джобс ушел, если уж на то пошло.
Но хватит религии и идеологии. Мы многим обязаны Деннису Ритчи, больше, чем можем себе представить. Без его вклада, вероятно, никто из нас сегодня не пользовался бы персональными компьютерами, сложными программными приложениями или даже современным Интернетом.
Никаких потоковых устройств и компьютеров Mac, iPhone, iPad и часов, чтобы Apple могла создать потрясающее произведение искусства. Нет Microsoft Windows 11 или Surface Books. Никаких Android или Chromebook. Ни Алекса, ни Netflix.
Ни облака, ни AWS, ни Azure.
Никаких «Приложений для этого». Никакого Интернета.
Деннису Ритчи я благодарю вас за то, что вы дали всем нам технологии, позволяющие нам стать теми технологами, которыми мы являемся сегодня.
Деннис Ритчи (стоит) и Кен Томпсон с PDP-11, около 1972 года (Источник: домашняя страница Денниса Ритчи)