История NeXTSTEP и зарождения великих корпораций
Очень многие классы в Objective-C имеют приставку NS к своему имени (NSString, NSNumber…), но не все знают, что сокращение возникло от названия операционной системы, стоявшей на легендарных компьютерах фирмы NeXT Computer еще в начале 90-х годов. Удивительно, но в данный момент мы пользуемся инструментарием для разработки программ, не изменившимся своим подходом с конца прошлого столетия, а 10-ая версия Mac OS полностью переписана на базе NeXTSTEP. Что это за удивительная операционная система и благодаря чьим трудам она появилась на свет? Обо всем по порядку.
После своей отставки из Apple в 1985 году, Стив Джобс основал компанию NeXT (архивная копия сайта NeXT) и приступил к созданию компьютеров, которые, по его замыслу, должны были стать мощным инструментом для университетских лабораторий и, одновременно, доступным по цене помощником в учебе для студентов. В 1986 году Джобс изменил начальный план, что привело к созданию отдела разработки программного обеспечения. Возглавил отдел Ави Теваньян, занимавшийся разработкой ядра Mach kernel в университете Карнеги—Меллон. Именно это микроядро стало основой для новой операционной системы NeXTSTEP. В конце 1988 публике был представлен первый прототип NeXT Computer, с предустановленной бета версией NeXTSTEP. А уже через год NeXT Computer начал продаваться не только в учебные заведения, но и поступил в розничную продажу в крупнейшие супермаркеты Соединенных Штатов.
В 1990 было выпущено второе поколение “следующих”: NeXTcube (переименованный NeXT Computer) и NeXTstation. Компьютеры NeXT были оснащены последними процессорами от Motorolla, имели огромный запас по мощности, а NeXTstation Color даже оснащался отдельной платой графического ускорителя NeXTdimension. По словам Джобса, его детища обгоняли индустрию на 5 лет, и в реальном сравнении не имели конкурентов: типичный PC того времени включал в себя процессор 8086-386, 64Кб-4Мб RAM, 10-20Мб HDD и дисплей с разрешением 640х350 на 16 цветов или монохромный 720х348. Конфигурация NeXTcube была просто фантастической: Motorola 68030 25 МГц, 8-64 Мб RAM, 330 или 660 Мб HDD, 250 Мб МО, Ethernet, 17” монитор с разрешением 1120х832 в градациях серого. Благодаря разнице в архитектурах процессоров Motorola и Intel даже вышедший позднее 486 с трудом конкурировал, а в некоторых тестах с проигрывал процессорам серии 680x0.
Тим Бернс-Ли в 1991 использует NeXT Computer для создания первого веб-сервера и веб-браузера, а в начале 90-х на NeXTcube Джон Кармак пишет две свои новаторские игры: Wolfenstein 3D и Doom. Джон Кармак также использует для названия своей компании idSoftware первые две так нам знакомые по Objective-C буквы :)
Продажи “следующих” были относительно невысокими: суммарно за годы существования NeXT было реализовано около 50 тысяч компьютеров. Не смотря на это, успех первой объектно-ориентированной ОС был колоссальным, и сподвигнул крупнейшие IT-корпорации того времени заняться разработкой в этой области, что позже привело к появлению Window NT 4.0 от Microsoft и Taligent от Apple. NeXTSTEP, тем временем, изначально созданная только под чипы Motorola, была портирована на другие архитектуры и получила широкое распространение: ее инсталяции можно было встретить во множестве банковских структур, DARPA, а также в АНБ и ЦРУ.
NeXT покинула рынок “железа” в 1993 году и была переименована в NeXT Software. Но даже спустя много лет компьютеры NeXT продолжали цениться очень высоко не только в кругу энтузиастов и поклонников.
В NeXTSTEP нашло воплощение немало революционных идей, в частности, касаемо организации вывода на экран. NeXTSTEP использовал для этих целей язык PostScript, что давало огромные преимущества на технологическом уровне. Такой подход позволяет идеально следовать принципу WYSIWYG, так как печатный образ полностью идентичен экранному, а использование мощностей GPU позволяет разгрузить центральный процессор под практические нужды. Нужно отметить, что упомянутый выше графический ускоритель NeXTdimension представлял собой практически отдельный компьютер. Так как разработчики ПО для NeXT оперировали графическими абстракциями языка PostScript, то NeXTdimension фактически представлял собой аппаратную реализацию вирутальной машины PostScript. Возможности его были просто колоссальными: вычислительных способностей хватало для программной поддержки трехмерной графики. В добавок ко всему, графический ускоритель имел встроенную поддержку видео и немалое количество видеовходов и выходов.
В том же году, в сотрудничестве с Sun Microsystems был создан OpenStep — кросс-платформенный стандарт и инструмент разработки, основанный на NeXTSTEP 3.2 и состоящий из Foundation и Application Kit. Тогда же впервые появился тот самый префикс “NS” у объектов. Позже на основании этого API было создано множество реализаций, доступных для запуска под разные платформы.
Также компания занималась созданием и продвижением на другие платформы своего инструментария, который успешно работал на множестве операционных систем, включая Windows NT. Кроме этого, NeXT запустила WebObjects — платформу для создания масштабируемых динамических веб-приложений на языке Java. Dell, Disney, BBC, да и сама Apple до сих пор использует этот инструмент в работе корпоративных сайтов и iTunes.
4 февраля 1997 Apple Computer, приобретя NeXT, использовала OPENSTEP как основу для замены отработавшей свое Mac OS 9, представлявшей собой под закат своего существования отнюдь не лучший вид, в частности, из-за так называемых extension conflicts, которые приводили к частому “падению” ОС. Особенно ярко проявлялись проблемы при большом числе установленных приложений, каждый из которых привносил свое расширение в функционал системы, из-за чего возникали конфликты ничем не лучше dll-hell в Windows.
Для обеспечения обратной совместимости с Mac OS 9 Apple представила разработчикам Carbon API, позволяющий создавать приложения для “десятки”, используя кодовую базу для OS Classic.
Display Postscript WindowServer был заменен на Quartz, расширив функционал исходной технологии, которой Mac OS X обязан своим современным обликом. Подобные Quartz программные решения для других платформ только начали обретать облик в Compiz/Beryl для Linux и в Desktop Window Manager под Vista. А ведь NeXT обладала этими технологиями еще 15 лет назад! Внутреннее представление объектов в Quartz коррелирует с моделью PDF, делая возможным легкую конвертацию в PDF-формат для множества устройств вывода, но Quartz не использует PDF для внутреннего представления данных.
Некоторые особенности интерфейса NeXTSTEP остались доступны в Mac OS X: Dock, сервисное меню, виды представления списка файлов в Finder, текстовая система и повсеместно доступная возможность выбора шрифтов и цвета в приложениях.
NeXTSTEP, обогнавшая свое время, наследовала свои лучшие черты в Mac OS X. Однако, Mac OS X отходит от спецификации OpenStep и ближе к NeXTSTEP как продукт. Можно сказать, что Mac OS X — это NeXTSTEP 5.
Кроссплатформенность NeXTSTEP была также перенята в Mac OS X. Каждая следующая версия системы была скомпилирована под PowerPC и Intel x86 архитектуры. Однако вплоть до 2005 года были доступны только PowerPC версии, пока Apple не анонсировала свой знаменитый переход на процессоры Intel.
Инструментарий разработчика в Mac OS X по существу представляет собой порты инструментов и библиотек OpenStep. Для сравнения посмотрите как выглядел Interface Builder 15 лет назад:
В действии работу NeXTSTEP и в том числе инструментария для разработки программ можно увидеть в презентация в исполнении Стива Джобса (35 минут).
В 1997 Джобс вернулся в Apple как консультант, а через 3 года откинул приставку и.о. от своей должности и стал СЕО компании. Не произойди увольнения Джобса в далеком 1985, все могло бы сложиться совсем по-другому. И не только в плане развития компании, но и в отношении характера Стива. Он очень сильно изменился за годы высылки, что положительно сказалось на его взаимоотношениях с людьми и коллективом. Но лучше один раз увидеть, чем сто раз прочесть. Поэтому я рекомендую посмотреть несанкционированный художественно-документальный фильм “Пираты силиконовой долины”, вышедший в 1999 году. Это единственный фильм на компьютерную тематику, который можно смотреть не содрогаясь в каждом кадре от очередной нелепости, и который можно советовать к просмотру обычным людям, не знакомым с техникой и компьютерами, ибо это кино в конечном итоге про людей, про их взаимоотношениях и про столь притягательный путь к успеху.
В том же году Джобс пригласил Ноа Уайла, исполнившего роль Стива в этом фильме, на презентацию MacWorld 1999, чем косвенно дал одобрение фильму.
А чтобы понять заключительную фразу “Are you still a virgin?”, которую Ноа Уайл бросил Джобсу уходя со сцены, нужно посмотреть фильм. Но главной цитатой фильма была вовсе не эта фраза, а та, что произносят экранные Гейтс и Джобс независимо друг от друга. Принципам, укладывающимся в нее, соперники следовали в своем противостоянии в течении всего момента становления крупнейших IT-корпораций мира. Черт, вам все-таки придется посмотреть фильм, потому что я не собираюсь ее здесь озвучивать :)
Комментарии
Над Стивом не подеццки отожгли :) Да, Ноа Уайал, Скорая Помощь %)
Ну, на самом деле, он сам пригласил Уайла, так что все акции и шутки были хорошо спланированными :)
Интересная ссылочка по теме, если кому нужен будет материал.
Форма комментирования для «История NeXTSTEP и зарождения великих корпораций»