Провал «Следующего»

Оглядываться назад для того, чтобы предугадать, что будет впереди, — хорошо
известный с добиблейских времен прием. И вот в очередной раз мы попробуем вернуться
в недалекое прошлое и вспомнить о малоизвестном у нас, но таком интересном явлении
в мире компьютинга, как "Следующий"… Естественно, речь пойдет о NeXT.
В этой статье вы не найдете никаких выводов — только факты о компании NeXT, об
одноименных компьютерах разных моделей и даже немного о сегодняшних отголосках
уже несуществующей NeXT, превратившейся в Enterprise-подразделение Apple Computer.

Былое…

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

Увеличив еще на год изучаемый нами временной интервал, можно заметить, что в 1990 г. Microsoft анонсировала Windows 3.0, и знаменитый сегодня Тим Беренс-Ли, создатель http-протокола, впервые употребил фразу World Wide Web. В перечне значительных событий 1990 г. ни название компании NeXT, ни компьютеры NeXT не упоминаются. Сразу восстановим этот пробел — если считать результаты работы Беренса-Ли действительно значимыми (а с этим сегодня трудно не согласиться), то надо отдать должное и так быстро попавшей "в зону тени" NeXT — ведь именно на компьютере NeXT Cube в те времена работал автор сегодняшней Internet. И впервые заглянуть в Сеть можно было именно с машин NeXT в том же 1990 г. — первый броузер был написан в ОС NextStep самим автором идеи.

Экран
Исторический экран компьютера
NeXT Cube Тима Беренса-Ли с первым в мире броузером

С точки зрения бизнесмена, для компании NeXT этот период нельзя назвать неудачным
— обнародованный на выставке NeXTWorld Expo в 1992 г. отчет о прибылях являет
собой наглядный пример "реактивного" роста — на 440% за два года. "Следующие"
штамповались как горячие пирожки несмотря на далеко не низкую цену — всего было
выпущено более 50 тыс. машин. Компания приобрела солидную репутацию поставщика
высококлассной техники в деловых кругах Америки, о чем свидетельствует изменение
структуры потребительского рынка компьютеров NeXT — если в конце 80-х 80% его
составляли учебные заведения, то уже в 1991 г. 62% заказчиков представляли промышленность
и государственные учреждения. В 1992 г. из 81% имеющих "неучебный" характер
потребителей "Следующих" подавляющее большинство можно было отыскать
в списке Fortune 500. Такой "переворот" (наиболее точно характеризуемый
английским термином flip-flop) в структуре потребителей компании за столь короткий
промежуток времени — явление исключительное и свидетельствует, в первую очередь,
о высокой эффективности работы маркетинговых подразделений NeXT.

Теперь, восстанавливая фактическую картину, следует вспомнить о цене компьютеров NeXT. В наши дни, когда речь заходит о "провале Следующих", зачастую прибегают к одному единственному доводу — дескать, машины NeXT были "слишком дорогими". Так ли это на самом деле? Мягко говоря, не совсем так. Представители главной платформы всех времен и народов — IBM PC — из "мощного" класса 386 и совсем нового по тем временам 486 стоили не намного дешевле. Не вдаваясь в цифры, можно говорить о разнице в цене, составляющей 15—20% для "приблизительно одинаковых" по номинальной производительности процессора машин.

Для полноты картины следует добавить к уже и без того детализированному фону результаты опроса разработчиков Sun, мигрировавших на платформу NeXT. Опрос этот, проводившийся тогда еще малоизвестным, но впоследствии знаменитым Бузом Алленом (Boos Allen), показал, что 82% разработчиков считают NeXT более удобной платформой, чем Sun, Windows, DOS, Mac. 100% разработчиков сочли NeXT более простой в освоении и для программирования системой, 91% специалистов заявили о преимуществах в функциональной насыщенности и сокращении в 2—9 раз времени разработки ПО, 83% выявили сокращение объемов кода, разрабатываемого для решения задач, свойственных их прикладным областям. Результаты опроса подтверждаются и обилием ПО для недолго существовавших на "компьютерном небосклоне" NeXT.

Если попытаться подвести итоги этому фактическому материалу, то напрашивается кажущийся сегодня нелепым вывод. А именно, компания NeXT была действительно успешной и, казалось бы, ничто не предвещало ее быстрого ухода со сцены. Напротив, по логике вещей она вполне могла бы занять всегда пустующую нишу "рабочих станций для народа" и прекрасно себя чувствовать по сей день. Но этого не произошло — не помогли отказ от производства аппаратных средств, перевод ОС NextStep на платформы IBM PC и Sun и даже образование некоего консорциума с… основным конкурентом — Sun — для стандартизации мощных и доказавших свои достоинства программных интерфейсов NextStep (спецификаций, получивших название OpenStep).

"Следующее железо"

Если уж речь идет о компьютерах и компьютерах в своем роде уникальных, без детального анализа hardware никакая картина коммерческих успехов полной не будет. Итак, NeXT.

Даже первое поколение этих машин (семейство Cube) представляло собой конгломерат совершенно нетипичных и для нынешних персональных компьютеров технических решений. Но попытаемся перенестись в 1988—89 гг. и взглянуть на Cube на фоне, скажем так, основного течения событий в мире компьютерного "железа". "Правящие бал" PC в то время оснащались процессорами Intel i286 и i386. Архитектура этих машин с косметическими изменениями дошла до наших дней (согласитесь, что изменение типа шины или ее тактовой частоты — это все-таки из области косметики), и присущие ей достоинства и недостатки у всех на слуху. NeXT же предлагала нечто совершенно иное, а именно: линейное адресное пространство, многоканальную DMA-архитектуру (8 каналов прямого доступа в память), новую системную шину NextBus, реальную функциональную мультипроцессорность, векторно-растровую графическую подсистему и многое другое.

В ходе непродолжительного эволюционного развития Cube уступили место NextStation, оснащенным процессорами нового поколения и более совершенной графической подсистемой.

Основная плата первых NeXT
Cube —16 разъемов для установки модулей памяти и затерявшиеся среди заказных
(ASIC) микросхем процессор M68030 и сопроцессор M68881 (чипы с металлокерамическим
корпусом желтого цвета)

Даже теперь понятно, что мы пытаемся сравнивать вещи "из разных миров",
но все же попробуем. Самый современный на то время процессор Intel i486, которым
оснащались высококлассные PC-совместимые компьютеры, представлял собой логическое
развитие семейства x86 — с полноценной реализацией конвейеров, 8 KB встроенной
кэш-памяти и интегрированной стековой машиной — сопроцессором плавающей точки
(FPU). Тактовые частоты были невысоки — до 50 MHz. Основной процессор NeXT Cube
— Motorola 68030 — обладал меньшим диапазоном тактовой частоты (до 33 MHz),
в нем отсутствовал интегрированный FPU. Intel 486 и Motorola 68030 представляли
собой два принципиально разных направления в развитии подсистем управления памятью
(MMU — Memory Management Unit) — разработчики семейства x86 выбрали "обкатанную"
на процессорах мэйнфреймов IBM модель сегментно-страничной организации, в Motorola
же приняли "на вооружение" двухуровневую абстракцию логических/физических
страниц памяти. С точки зрения потребителя, эти нюансы никакого значения не имеют
и не могут быть определяющими в нашей попытке сравнения. Отсутствие встроенного
в CPU сопроцессора в NeXT с лихвой компенсировалось установленным на основной
плате сопроцессором M68881, обладавшим расширенной (по сравнению с FPU i486) функциональностью.
Объективные тесты убедительно доказывают, что производительность M68030 и его
преемника NeXT M68040 была эквивалентна или даже выше более быстрого (в терминах
тактовой частоты) i486. Естественно, до определенного ее значения — Motorola
не пошла по пути Intel, тактовые частоты выпускающихся по сей день и остающихся
далеко не дешевыми процессоров семейства 680×0 "замерзли" в узких рамках,
определенных еще в начале девяностых. Впрочем, эта информация нам не важна —
в 1990 г. NeXT Cube обладал не самым худшим процессором (который многие, включая
потребителей из mission-critical отраслей, вообще считают одним из лучших CPU
CISC-класса).

Второе поколение NeXT —NextStation.
Все тот же M68030, те же ASIC, но более компактный дизайн для корпуса типа
‘коробка пиццы’

Но компьютер — это не только процессор. И здесь уже разработчикам NeXT нашлось,
что позаимствовать у своих коллег из "отмирающего мира мэйнфреймов"
— канальную архитектуру. Управляемый периферийным контроллером (PC в терминологии
NeXT) многоканальный DMA-чип полностью "разгружал" не блещущий высокой
тактовой частотой центральный процессор от занимающих слишком много времени процедур
пересылки блоков данных. Поддерживалась эта возможность и особенностями шины NextBus,
исключительно простой, но в то же время способной передавать данные со скоростями
до 100 MBps при полноценной реализации master-slave обмена и очень высокой надежности
передачи данных (один дополнительный бит проверки четности на один байт). Для
управления и арбитрирования шины в NeXT Cube использовалась всего одна микросхема
невысокой степени интеграции. Представители семейства IBM PC в 1990 г. в основном
оснащались шиной ISA и (высокоуровневые модели) ее расширенным вариантом EISA.
Более или менее близкая к параметрам NextBus EISA отличалась очень неплохой поддержкой
master-slave обмена при полосе пропускания 33 MBps.

NeXT «с турбиной» – самая
«скорострельная» версия, процессор M68040 33 MHz

В области интерфейсов PC и NeXT были также весьма близки. Единственное отличие
заключалось в свойственном во все времена производителям рабочих станций стремлении
конструкторов NeXT предоставить покупателю "полностью готовую машину"
(что обычно выражается в одноплатном исполнении, интегрирующем все необходимые
узлы и подсистемы). Основным интерфейсом с устройствами долговременного хранения
данных в NeXT выбрали, естественно, SCSI (единственно доступный "интеллектуальный"
интерфейс, подходящий для машин с канальной организацией).

Попытка дальнейшего сравнения может поставить в тупик любого самого заядлого спорщика. Дело в том, что в конфигурации всех моделей NeXT обязательно присутствовал… цифровой сигнальный процессор со своей оперативной памятью, "общающийся" со всей машиной через DMA-канал. Процессор этот был также далеко не из худших — Motorola 56001, способный при тактовой частоте 25 MHz программно генерировать стереозвук CD-качества с частотой дискретизации 44 kHz. Но дело даже не в показателях этой подсистемы, а в ее "странности" — DSP-сопроцессор не имел в NeXT строго определенного назначения — он мог (и предназначался для этого) программироваться пользователем. Соответственно немалая и по нынешним меркам вычислительная мощь 56001 зачастую применялась разработчиками ПО для решения "не совсем" DSP-задач.

NextDimension – уникальный
акселератор – «компьютер в компьютере»

Еще один уникальный элемент архитектуры NeXT — появившийся в более поздних моделях
(NextStation) графический акселератор NextDimension. Привычный в мире ПК термин
"акселерация" совсем не подходит к этому устройству. Хотя бы потому,
что NextDimension на самом деле является самостоятельным компьютером с мощным
64-битовым RISC-процессором i860, выполняющим роль "интеллектуального векторно-растрового
преобразователя". Программное обеспечение NeXT устроено так, что разработчикам
ПО не приходится "опускаться" до таких мелочей, как операции с пикселами
— они оперируют куда более высокоуровневыми абстракциями языка PostScript (представляющего
разновидность гибрида стековой виртуальной машины и языка программирования FORTH).
Соответственно и само понятие акселерации здесь принимает особое значение — NextDimension
на деле является программно-аппаратной реализацией виртуальной машины PostScript,
вывод которой может направляться в дисплейную область или на устройство печати.
Для работы с растровыми "картинками" модель PostScript не слишком хороша,
и эта проблема в NextDimension решена радикальным образом — установкой аппаратного
jpeg-сопроцессора, позволяющего осуществлять "распаковку" jpeg-файлов
в экранную область в реальном времени (одного формата вполне достаточно — ведь
существуют программные конверторы). Кроме того, действительно хорошие вычислительные
способности i860 позволили расширить функциональность NextDimension высокоуровневой
поддержкой трехмерной графики (до 30 тыс. полигонов в секунду закраской Гуро).
Ну и, наконец, завершающий штрих к картине "графического акселератора NeXT"
— встроенная поддержка видео и даже по сегодняшним меркам серьезное количество
видеовходов и выходов (всего 9).

И на самом деле, в 1990 г. решение задачи сравнения и выбора казалось настолько
сложным, что ему посвящались стихотворные поэмы (например, встречающийся в Сети
текст "Hamlet
and NeXT Computer"
). Правда, в них сравнивались "обычные Apple"
и NeXT — машины куда более близкие.

"Следующие" программы

Эта составляющая NeXT, увы, настолько уникальна, что сравнивать ее с чем-либо было бы, по меньшей мере, нелепо. Операционная система NextStep до сих пор остается "отдельной нишей", разместившейся на стыке ОС для рабочих станций и персональных компьютеров.

Ядро
NextStep, основанное на микроядре Mach и обеспечивающее системные вызовы BSD Unix,
несомненно, позволяет классифицировать эту ОС как Unix-совместимую. Но можно сказать,
что на этом сходство с "классическими" Unix заканчивается. Вместо завоевавшей
прочные позиции комбинации X-клиент/X-сервер в NextStep для организации вывода
на экран применяется комбинация DPS-клиент/DPS-сервер (DPS — Display PostScript).
Такое кажущееся непринципиальным различие на деле приводит к громадному отрыву
в технологическом уровне. Во-первых, DPS — единственная на сегодняшний день технология,
позволяющая полноценно реализовать принцип WYSIWYG, так как и печатный, и экранный
образы интерфейсов/документов формируются из одной промежуточной формы представления
с помощью одних и тех же алгоритмов. Во-вторых, в наше время "дешевых вычислений"
дисплейный процессор в аппаратном исполнении может "разгрузить" CPU
компьютера от массы совершенно несущественных, но важных для простоты использования
программ задач. PostScript — язык с огромной функциональностью, а дополненный
DPS-расширениями позволяет описывать в виде текста, например, графические объекты,
оповещающие программу-клиент о событиях, вызванных перемещением курсора мыши в
область, занимаемую объектом.

Принципиальные отличия NextStep "от всего остального" на этом не заканчиваются. По сей день она остается единственной успешной полностью объектно-ориентированной коммерческой ОС общего назначения. Да еще и разработанной на весьма экзотическом расширении языка программирования C — Objective C.

В 1990 г. у NextStep были фактически два конкурента — Mac OS и только появившаяся Windows 3.0. Если судить по интуитивности и концептуальной целостности пользовательских интерфейсов, то NextStep занимала промежуточное место между уже неплохо отработанной и сформировавшей огромную пользовательскую базу Mac OS и только "оперяющейся" Windows. А если эти суждения подкрепить результатами опросов тех времен, то окажется, что 68% респондентов признавали NextStep "самой удобной в пользовании ОС", причем в NeXT начали прибегать к подобного рода опросам после 1991 г. — за временной гранью, обозначенной упомянутым выше flip-flop структуры потребителей. То есть, респонденты в этот период времени — не программисты и ученые, а менеджеры, банковские работники и биржевые брокеры.

Сегодня "Следующего"

Компьютеры NeXT уже давно не производятся, но… Это ничего не значит —
их все еще продают и покупают, несмотря ни на что — ни на неприспособленность
к модернизациям, ни на иногда совершенно безумные цены. Средняя цена турбомодели
NextStation (процессор M68040 33 MHz), оснащенной акселератором NextDimension
и "родным" 21-дюймовым монитором существенно превышает стоимость самой
современной машины семейства PC. Один лишь факт существования больших фирм, продолжающих
активно торговать "second hand Следующими", комплектующими к ним и программным
обеспечением, свидетельствует в пользу того, что компьютеру NeXT удалось пережить
компанию NeXT. А вот ответ на вопрос "Почему так случилось?" автор оставляет
читателю.