Ерничанье, особенно по отношению к коллегам — быть может, и не самый лучший способ донести до читателя свои мысли, но зато, с другой стороны, хотя бы сам автор имеет шанс повеселить себя в процессе написания материала :). Поэтому, прочитав «Идеальный компьютер-2» авторства безусловно уважаемого мной Ильи Вайцмана (AKA Stranger_NN), я не смог удержаться, и с названием следующего, в некотором роде «юбилейного» (см. номер), «Рыбного дня» определился абсолютно четко. Осталось только понять, про что же должен быть соответствующим образом озаглавленный выпуск этой колонки…
Андерсон, которая никогда не сможет сыграть на баяне…
(народное)
Однако определялся я недолго, ибо одна тема, как ни странно, даже пересекающаяся со всевозможными вариациями и размышлениями на тему об «идеале», уже отсидела в моем мозгу нужное время и была почти полностью готова к выходу в свет. Технологии, говорите? Эт хорошо… Технологии, открытия, новые достижения… Словом, «это манящее слово — Hi-Tech». Можно подумать, что их действительно приносят инопланетяне, эти технологии. Можно подумать, что директора крупных компаний — сплошь технические гении, наподобие Эйнштейна, ну или, в крайнем случае, Эдисона. Можно подумать, что все открытия, которые уже сделаны, выстроились стройными шеренгами, торопясь принести пользу человечеству, а те, которые особой пользы не приносят — сгинули во мраке веков, не выдержав здоровой конкуренции с более полезными. Можно подумать… Эх…
Технологии продаж и продажа технологий
Давайте осмотримся вокруг в поисках этих самых технологий и попытаемся понять: что же мы о них знаем? За образец возьмем сферу, близкую всем посетителям нашего сайта — компьютерную. Вот, к примеру, DirectX. Всем более или менее интересующимся 3D-акселераторами и тем, что с ними связано, известно, что есть DirectX 7, есть DirectX 8, а есть DirectX 9. При этом первый уже можно считать практически полностью устаревшим, второй — чем-то вроде нынешнего мейнстрима (хотя профи добавят, что неплохо бы все же не просто DirectX 8, а 8.1), ну а DirectX 9 — это наше будущее, это «очень и очень», как говорят в Одессе, и там все будет красиво и замечательно. Далее… Далее уже немного тяжелее. Кто из вас (честно смотрим на свое отражение в мониторе, пытаясь уловить выражение глаз) знает, чем отличается DirectX 8 от DirectX 7? Всем, кто ровно через одну секунду ответил «он чей-то там поддерживает» — поставить себе один балл. Тем, кто в любом контексте произнес магическое слово «шейдер» — два балла. Тем, кто вспомнил, что в 8.1 поменялись «какие-то версии шейдеров» — можно поставить в зачетку «отл.» и идти отдыхать. Ну а те, кто просто сказал: «Он прогрессивнее и в нем больше возможностей», — не отчаивайтесь — вы обычные, нормальные люди. Как и я сам, к слову.
Но дело не в том, кто сколько знает, а в том, что о «прогрессивности» DirectX 8 по отношению к DirectX 7 знают, пожалуй, почти что все. Равно как и о прогрессивности DirectX 9 по отношению к восьмой версии. И на этом знании и строится такая штука, как «продажа товара под маркой поддержки технологии». Есть, к примеру, видеочип G от компании G-makers и видеочип R от компании R-makers. Один из них (пусть это будет G) показывает хорошую скорость в тестах, имеет очень приличное соотношение цена/производительность, отличное качество картинки, ну и, как говорится, «и т. д. и т. п.». А другой (R) — поддерживает DirectX Z. Пусть на уровне драйверов, а не аппаратно; пусть не полностью, а только некоторые функции; пусть даже, в конце концов, этот самый DirectX Z еще вообще не вышел, и его официальные спецификации никому не известны! Неважно. R — поддерживает DirectX Z, а G — нет. А теперь вопрос: кто будет покупать G, обосновывая свой выбор анализом результатов его производительности, полученных независимыми тестовыми лабораториями, знанием ситуации с поддержкой DX Z в современных играх и прочими объективными причинами? А кто будет покупать R, «обосновывая» свой выбор надписью «DirectX Z compatible» на коробке и «знанием» того, что «DX Z — прогрессивнее и лучше»? И как соотносится количество первых и вторых? Оставлю вам возможность ответить на эти вопросы самостоятельно…
Технологии — это не хорошо и не плохо. По крайней мере, пока за них не взялся маркетинговый отдел :). Однако давайте все же будем честными сами с собой: как правило, мы покупаем не «поддержку новых технологий», а то, что нам про них рассказали. Почему? А потому, что если смотреть на вещи реально, то новая прогрессивная технология будет в 90% случаев просто-напросто совершенно недоступна нашему пониманию. Готов честно и откровенно признаться: я сам — очень посредственно понимаю, что такое шейдеры. За исключением того, что «это как-то связано с программированием» и «та красивая травка в Nature сделана именно посредством шейдеров». А кто-то другой не очень хорошо понимает, что такое PAT, или почему 200-мегагерцовую шину Pentium 4 все называют 800-мегагерцовой. Или почему и 3DNow!, и SSE, и SSE2 называют SIMD, но все они несовместимы между собой. Да, кстати, к слову: а какое количество из вас, уважаемые мои читатели, удосужилось хотя бы просто просмотреть список команд, входящих в набор SIMD-инструкций SSE2 (3DNow!, SSE) и попытаться понять, для чего эти команды могут быть предназначены? А как количество тех, кто это сделал, согласуется с количеством тех, кто берется с жаром обсуждать недостатки и преимущества данных наборов команд и наличие или отсутствие их поддержки в различного рода ПО? Нет, я не настаиваю на том, чтобы вы отвечали на эти вопросы вслух — ответьте на них хотя бы сами себе. И, быть может, вы кое-что вдруг осознаете…
Например — что оперируя определенными понятиями в процессе выбора или оценки компьютерной системы, мы во многих случаях весьма приблизительно представляем себе смысл этих понятий, отличия различных «одноименных» технологий друг от друга, не говоря уже о практической применимости их к нашим собственным задачам.
«Я тебя поцелую. Потом. Если захочешь…»
Однако довольно с нас пессимизма. Предположим, что DirectX Z действительно намного быстрее и совершеннее своего предшественника DirectX Z-1, по протоколу UltraATA/133 данные передаются на целых 33 МБ/с быстрее, чем по UltraATA/100, AGP 8x вдвое превосходит AGP 4x, а двухканальная DDR400 обеспечивает в два раза более широкую полосу пропускания, чем одноканальная. Все отлично. Вот только одно «но»: «все отлично» — с самой этой технологией. То есть она хороша. Что дальше? Дальше же мы вдруг вспоминаем, что DirectX Z — это всего лишь API, в связке с которым работают драйвера конкретного графического чипа, и этот чип (или, для разнообразия, его драйвера) может быть как изумительно красив, так и безбожно крив и горбат. А с другой стороны в той же связке работают конкретные программы, и в данном случае у нас тоже есть как минимум три варианта: либо они используют новые возможности хорошо, либо они их используют плохо, в результате чего ни «красивше», ни «быстрее» не получается, либо… они не используют их вообще, потому что просто-напросто не подозревают об их существовании. А новому интерфейсу UATA/133 неплохо бы дать в пару поддерживающие такую же скорость передачи данных винчестеры, причем почему-то (странно, да?) хочется, чтобы они выпускались не одной компанией, а несколько большим их количеством. А для того чтобы загрузить работой двухканальную DDR400, нам нужен процессор с соответствующей шиной и частотой — иначе какой в ней смысл? И даже если в принципе все вышеупомянутые программные и аппаратные продукты когда-нибудь появятся, то все равно остается на повестке дня насущный вопрос: а зачем мне все это именно сейчас? С другой стороны, а в чем виноваты разработчики некой конкретной компании, придумавшие новый, современный «сверхзвуковой» интерфейс? В том, что их компания имеет возможность вбухивать миллиарды в свои исследовательские лаборатории, а «смежники» — производители «сопутствующих комплектующих» — этих миллиардов не имеют и тормозят на своих «Запорожцах» наш замечательный и быстрый 600-й «Мерседес»? И что теперь делать — не разрабатывать? Ждать, пока остальные «подтянутся»? Или наплевать на крики о монополизме и тупо делать все самому и исключительно «под себя»? Вопросы, вопросы…
И вот тут мы можем смело вернуться к «технологии продаж» и искусству «продажи технологий». Да, индустрия реально движется вперед. Это ни у кого сомнений не вызывает. Но не следует забывать о том, что одним из неизбежных следствий открытости (по крайней мере, в большей части) нашей с вами любимой «реально-компьютерной» платформы является то, что движется она в указанном выше направлении совершенно неравномерно. Шины современных процессоров от ведущих производителей имеют историю длиной в год-два, максимум три. Шина AGP, на использование которой ориентированы все современные графические чипы — уже лет пять. Интерфейс ATA (или Parallel ATA, как его сейчас иногда называют, чтобы не путать с Serial) — и того больше. Типы памяти меняются как перчатки, а типы процессорных разъемов — гораздо реже. Те же блоки питания, например, после выхода стандарта ATX изменялись чисто косметически — а сколько уже лет тому стандарту? Фактически, развитие технологий в каждой отдельно взятой области компьютерной техники в значительной степени «отвязано» от развития их в другой. А это уже совершенно закономерным образом вызывает другое, гораздо менее приятное явление — наличие в практически любой современной компьютерной системе совершенно дикого, с инженерной точки зрения, «зоопарка» технологий, в котором мамонты соседствуют с реактивными самолетами, и не только соседствуют, но и, продолжая аналогию, вовсю разгуливают по взлетно-посадочной полосе. В связи с чем летать на этих самолетах становится реально опасно. Однако продавать-то эти самолеты надо! И вот нам предлагают не лишенный некоторого извращенного изящества способ сохранить собственное здоровье — не летать. В конце концов, двигатели мощные — можно и по земле неплохо покататься, даже с ветерком. Зато дизайн какой — стремительные обводы, алюминий и пластик, закрылки, элероны… А как только мамонтов с полосы уберут — мы полетим! Обязательно полетим…
В сухом остатке: приобретая устройство, поддерживающее возможности, которые реально пока что никто или почти никто не использует, мы фактически просто «отдаем в кредит» разработчику этого устройства наше к нему доверие. Мы надеемся на то, что он сможет заинтересовать других производителей в использовании данной технологии. Мы надеемся, что это произойдет раньше, чем нам придется заменять данное устройство на более новое. Мы надеемся, что этот производитель вовремя выпустит [соответствующие драйвера | собственный API | SDK для разработчиков | …], в результате чего данная технология окажется реально полезной, и мы сможем получить какую-то отдачу от тех денег, которые заплатили за наличие ее поддержки в купленном устройстве. Нет, я не говорю, что это плохо. Отнюдь. Я просто спрашиваю: скажите, а при чем тут собственно технология? Она может быть любой — и хорошей, и плохой. Это, по сути, не так уж и важно. Плохая технология, которую проталкивает «монстр индустрии», имеет во много раз больше шансов, чем хорошая, которую придумали пять гениальных парней с тысячей долларов в кармане у каждого. Более того: «плохой» она может быть относительно той самой, придуманной гениальными парнями. Но относительно того, что было до нее — очень даже съедобной. И вот тут я задам второй вопрос: а что реально лучше — реализованная и работающая «плохая» технология (тоже дающая прирост, просто не такой большой, как можно было бы в идеале) или безвременно усопшая «замечательная»? И снова призову вас отвечать на него самостоятельно…
Заключение
Итак, что же представляет собой наш современный «реальный компьютер»? С точки зрения рядового, неискушенного в технике пользователя — ужасающий винегрет из различных «технологий» (а скорее — маркетинговых наименований, за которыми иногда стоят реальные технологии), соотносящихся друг с другом в непонятной пропорции и каким-то неведомым нам образом сообща выдающих некий результат… И это, пожалуй, и есть то единственное, что мы реально в состоянии зафиксировать или проанализировать. Но даже то, почему процессор X отрендерил сцену за одно время, а процессор Y — за другое, нам, по большому счету, неизвестно, и никогда мы этого на самом деле не узнаем. Говорите, у X — три блока FPU? Простите, а вы их лично сосчитали? А каждый из 125 млн. транзисторов известного графического чипа — тоже лично, долгими и бессонными ночами, под электронным микроскопом?
Я вот, к примеру, выдвигаю теорию, что FPU у процессора X вообще нет — ни трех, ни двух, ни одного. А присутствует сверхбыстрый беспроводной интерфейс, являющийся запатентованным Страшно Секретным решением компании-производителя, который короткими импульсами в пакетном режиме передает данные на обработку прямиком на один из доступных серверов Высшего Разума. И попробуйте мне докажите, что я не прав! Производитель, например, точно ничего доказывать не станет — просто покрутит пальцем у виска. И совершенно справедливо, между прочим: нечего засорять себе мозги тем, в чем все равно ни черта не смыслишь; так и вправду до желтого дома недалеко. Получил свои результаты тестов — вот на их основе и рассуждай. А что до количества миллионов транзисторов — тут уж тебе, парень, придется нам просто верить. Потому как с альтернативными вариантами выяснения истины у тебя, прямо скажем, напряженка. К чему это я? Да просто давайте-ка не забывать о том, как мало мы на самом деле знаем. И особенно хорошо постараемся об этом помнить, когда бес из-за левого плеча провоцирует нас на какие-то Особенно Глобальные Выводы.
Однако и знания, пусть и неполные — это еще не все. По крайней мере, в этом случае у нас есть хоть какая-то почва для размышлений. Сложнее приходится в тех ситуациях, когда ее нам не в состоянии предоставить даже сами производители и разработчики. Потому как иногда определенные потенциальные «технологические» возможности нашего компьютера на данный момент времени оценить просто невозможно ввиду того, что технология — есть, а ее практическое применение или еще «не подоспело», или существует в виде трех приложений, два из которых относятся к совершенно неинтересной нам области человеческой деятельности, а третье в текущей версии больше «падает», чем работает. Это уже не говоря про то, что, безусловно, громадное влияние на технические и скоростные характеристики наших компьютеров оказывают замечательные образчики «победы плодов человеческого разума над ним самим» в виде разъемов интерфейса X на плате внутри системного блока, в котором нет (и никогда не будет) ни одного устройства с данным интерфейсом, поддержки 5.1-звука в офисном компьютере с двумя китайскими колонками за $15, а также RAID-контроллера с подключенным к нему одним жестким диском, «потому что так вот сложилось».
Впрочем… ничто не мешает нам именно на такой «удивительно удачно сбалансированной» конфигурации писать свои чудесные статьи, в которых шины — коммутируемые, мониторы — умные, процессоры — высокопроизводительные и малопотребляющие, и нет ни одного лишнего винтика. Знали бы только современные технологии, как подло их используют для того, чтобы их же ругать :). И вот тут я опять съеду на свой любимый «стариковский ворчливый тон». Наверное, это действительно признак старости (которая, как известно, иногда приходит вместе с мудростью, но иногда и одна :)), но мне в последнее время уже не хочется ни идеала, ни сокровенного знания об отличиях DirectX 9 от DirectX 8, ни даже посвящения в Страшные Тайны технологии Hyper-Threading или количества блоков FPU. Появилось что-то новое? Замечательно. Функционирует нормально? Судя по внешним признакам — вроде бы да. Уже хорошо. Компьютер после включения загрузился как обычно? И того лучше! А если еще и работает хотя бы с той же скоростью, что и раньше — так вообще прекрасно. Запущу-ка я браузер, да пойду какие-нибудь смешные истории на anekdot.ru почитаю…
P.S. Ты смотри — и браузер запустился! Это ли не чудо?! Замечательный «реальный компьютер»! :)