Обложка Интерлюдия. Ретробит Пользователи

Интерлюдия. Ретробит Пользователи

Игорь

0% прочитано
Стандартный
Игорь

Интерлюдия. Ретробит Пользователи

Утиное переполнение

Первое впечатление Гарольда Финча от новой компьютерной сети заключалось в том, что человек, придумавший ей название, наверняка был либо сумасшедшим, либо слишком молодым, либо относился к собственному бизнесу настолько несерьёзно, что само его существование выглядело небольшим экономическим чудом.

На экране терминала его IBM PC зелёными буквами светилось:

DUCK OVERFLOW Canalla Games Programmer Exchange Good code. Better answers. Fewer sleepless nights.

Ниже была нарисована утка.

Не просто утка, а утка в пиратской повязке, сидевшая верхом на стопке перфокарт.

Гарольд несколько секунд молча рассматривал картинку, после чего снял очки, протёр их краем галстука и снова посмотрел на монитор, словно надеялся, что после этой процедуры изображение станет хоть немного солиднее.

Не стало.

— Что за детский сад… — пробормотал он.

Гарольду было тридцать семь лет, двенадцать из которых он писал программы для страховых компаний, банков и одного чрезвычайно неприятного производителя складского оборудования из Сан-Леандро. Он уважал COBOL, терпел FORTRAN и относился к BASIC примерно так же, как хороший механик относится к разводному ключу: инструмент пригодный, но лучше не рассказывать коллегам, что ты им пользовался.

Компьютерные клубы он не посещал.

Игровые журналы не читал.

О фирме Canalla Games узнал случайно, когда молодой сотрудник бухгалтерии принёс в отдел распечатку программы, исправлявшей ошибку в драйвере матричного принтера Epson.

На вопрос, где он взял исправление, мальчишка ответил:

— На Утке.

Гарольд решил, что ослышался.

Оказалось — нет.

Доступ стоил почти ничего. Основные расходы приходились на телефонную линию, поэтому Гарольд дождался вечера, когда междугородние тарифы снижались, набрал номер в районе Сан-Франциско через свой Hayes и некоторое время слушал привычную какофонию рукопожатия модемов.

Затем терминал ожил.

Система сначала предложила выбрать имя пользователя.

HANDLE:

Гарольд написал:

HFINCH

Система сообщила:

BORING, BUT ACCEPTABLE. WELCOME, HFINCH.

Он нахмурился.

Следующая строка:

NEW USER: 0 FEATHERS

— Перья?.. — произнёс Гарольд.

Ему уже хотелось отключиться.

Но затем он увидел меню.

[1] IBM PC / DOS [2] APPLE [3] COMMODORE [4] ATARI [5] UNIX [6] PROGRAMMING LANGUAGES [7] HARDWARE [8] BUGS AND FIXES [9] BEGINNERS — NO QUESTION TOO STUPID [0] OFF TOPIC — ENTER AT YOUR OWN RISK

Название девятого раздела заставило его задержаться.

На большинстве профессиональных конференций того времени существовал один довольно простой закон: если ты задаёшь вопрос, ответ на который остальные присутствующие считают очевидным, тебе сначала объясняют, насколько ты глуп, затем рассказывают биографию Брайана Кернигана, а уже после этого, возможно, отвечают.

Гарольд выбрал первый раздел.

Сообщений оказалось несколько сотен.

И вот тут отношение к детскому названию начало медленно меняться.

Потому что вопросы были настоящими.

Ответы тоже.

А главное — значительная часть из них решала реальные проблемы.

DUCK OVERFLOW — IBM PC / DOS

THREAD #1842

TITLE: WHY DOES DOS EAT MY FILE?

USER: ACCOUNTING_GUY FEATHERS: 3

Я открываю файл, записываю данные, программа завершается нормально, но иногда последние строки исчезают.

Компилятор Microsoft Pascal.

Да, я новичок.

Нет, бухгалтерию фирмы я не уничтожил. Пока.

Первый ответ появился через девять минут.

USER: BYTEBENDER FEATHERS: 417

Ты закрываешь файл перед завершением программы?

ACCOUNTING_GUY:

Он сам не закроется?

BYTEBENDER:

Закроется. Когда-нибудь. Возможно, после того, как ты потеряешь зарплатную ведомость.

Следом написал другой пользователь.

USER: GREYBEARD FEATHERS: 1089

Данные могут оставаться в буфере. Я не знаю конкретно твою библиотеку, но перед завершением явно вызови CLOSE.

Если библиотека поддерживает FLUSH — вызывай и его там, где потеря данных недопустима.

И сначала сделай копию рабочего файла.

Через несколько минут автор темы вернулся.

ACCOUNTING_GUY:

Сработало.

После сообщения появилась новая строка:

✓ ACCEPTED SOLUTION — GREYBEARD +10 FEATHERS

Гарольд Финч придвинулся к экрану.

Вот это уже было интересно.

Не просто обсуждение.

Не двадцать человек, каждый из которых рассказывает собственную жизнь.

Есть вопрос.

Есть решение.

Есть отметка, какое именно решение помогло.

Он открыл следующую тему.

COMMODORE 64 / GRAPHICS

THREAD #1771

TITLE: ONLY EIGHT SPRITES? SERIOUSLY?

USER: REDWIZARD FEATHERS: 61

Мне нужно двенадцать врагов одновременно.

VIC-II даёт восемь аппаратных спрайтов.

Я уже знаю, что можно рисовать часть программно. Не хочу. Медленно.

Есть другой способ?

USER: SIDKID FEATHERS: 233

Есть. Sprite multiplexing.

REDWIZARD:

Это что?

SIDKID:

Меняешь координату Y и данные спрайта после того, как луч телевизора уже прошёл первую позицию. Один аппаратный спрайт используется несколько раз за кадр.

REDWIZARD:

Это звучит как колдовство.

SIDKID:

Это и есть колдовство. Только с raster interrupt.

Через двадцать минут в теме появился пользователь с высоким рейтингом.

USER: BOBY FEATHERS: 2914

Не меняй регистры слишком поздно.

Стабилизируй raster interrupt и оставляй несколько строк запаса.

Пример:

wait raster change sprite pointers change Y return

Я загружу рабочий пример отдельно.

REDWIZARD:

Откуда ты это знаешь?

Ответ последовал почти сразу.

BOBY:

Я помогал делать чип.

Пауза в теме продолжалась семь минут.

Затем:

REDWIZARD:

О.

Ещё через минуту:

Очень большое О.

Гарольд усмехнулся.

Такого в печатном руководстве Commodore не найдёшь.

На другом конце страны восемнадцатилетняя студентка первого курса Массачусетского технологического института по имени Нэнси Ортега обнаружила Duck Overflow совершенно другим способом.

Ей дали задание на языке C.

Программа падала.

Нэнси проверила её один раз.

Второй.

Третий.

Переписала половину функций.

Программа продолжала падать.

После полуночи сосед по лаборатории посоветовал:

— Спроси Утку.

Нэнси решила, что он издевается.

Через двадцать минут она уже печатала вопрос.

PROGRAMMING LANGUAGES / C

THREAD #1904

TITLE: I HATE POINTERS

USER: NANCYO FEATHERS: 0

Я ненавижу указатели.

Всё.

Это весь вопрос.

Модератор ответил первым.

USER: MOD_DUCK FEATHERS: 642

Вопрос должен содержать вопрос.

Нэнси подумала и дописала:

Почему моя программа падает?

Она приложила код.

Через несколько минут появился ответ.

USER: UNIX_BEARD FEATHERS: 793

Потому что p ни на что не указывает.

Ты объявила:

char *p;

а затем сразу записываешь:

*p = 'A';

Ты сказала компьютеру: «Вот адрес».

Но адрес не дала.

NANCYO:

Тогда зачем язык вообще разрешает такое написать?

UNIX_BEARD:

Добро пожаловать в C.

Другой пользователь вмешался:

USER: JULYBOY FEATHERS: 119

Именно поэтому нормальному языку нужны безопасные значения по умолчанию.

UNIX_BEARD:

Только не начинай опять про JulyScript.

JULYBOY:

Я ничего не говорил про JulyScript.

UNIX_BEARD:

Ты буквально написал JulyScript в имени.

JULYBOY:

Совпадение.

Ещё через несколько сообщений обсуждение окончательно превратилось в спор о том, должен ли язык программирования защищать человека от него самого.

Модератор закрыл боковую ветку:

MOD_DUCK:

Тема про указатель.

Войну языков продолжайте в разделе «Священные войны».

Да, такой раздел существует.

Нет, мы не гордимся этим.

Нэнси исправила программу.

Поставила галочку напротив ответа UNIX_BEARD.

Получила первое перо за подтверждение решения.

И неожиданно почувствовала себя человеком, который теперь тоже принадлежит к какой-то большой компании неизвестных людей, бодрствующих ночью перед светящимися экранами.

На следующий день она сама ответила новичку, забывшему амперсанд в scanf.

Получила три пера.

Почему-то было приятно.

Проблемы начались примерно через два месяца.

Потому что программисты, как быстро выяснилось, способны превратить в соревнование буквально всё.

Особенно если рядом с именем поставить число.

Пользователь GREYBEARD первым набрал десять тысяч перьев.

Пользователь UNIX_BEARD публично обвинил его в том, что половину рейтинга тот заработал, отвечая на слишком простые вопросы.

GREYBEARD ответил:

Простые вопросы тоже требуют правильных ответов.

UNIX_BEARD написал:

Некоторые должны сначала открыть руководство.

GREYBEARD:

Если бы руководство было хорошим, человек сюда бы не пришёл.

Сообщение получило сто двадцать семь положительных голосов.

Это стало новым рекордом.

Через неделю администрация Duck Overflow ограничила количество перьев, которое можно получить за один ответ.

Пользователи немедленно обвинили администрацию в коммунизме.

Через два дня ограничение отменили.

Особенно знаменитой стала тема, начавшаяся совершенно невинно.

PROGRAMMING LANGUAGES / STYLE

THREAD #2411

TITLE: TABS OR SPACES?

Первый ответ:

USER: JULYBOY

Spaces.

Второй:

USER: UNIX_BEARD

Tabs.

Третий:

USER: BYTEBENDER

Почему не оба?

На следующий день в теме было двести семьдесят четыре сообщения.

На третий — шестьсот.

Люди цитировали научные работы.

Считали количество байтов.

Обсуждали ширину терминалов.

Вспоминали перфокарты.

Один пользователь каким-то образом связал табуляцию с упадком Римской империи.

Другой назвал пробелы проявлением социализма.

Третий заявил, что табуляция является инструментом корпоративного угнетения.

На четвёртый день модератор написал:

В JulyScript официально два пробела.

Не потому, что одна сторона победила.

Потому что разработчики языка устали читать эту тему.

После чего закрыл обсуждение.

Через пятнадцать минут появился новый вопрос:

TITLE: TWO SPACES OR FOUR?

В офисе Canalla Games происходящее воспринимали несколько иначе.

Тодд Уокер обнаружил, что тестирование Duck Overflow оказалось значительно сложнее тестирования обычной игры.

Игрок хотя бы пытался победить программу.

Пользователь BBS пытался победить других пользователей.

— У нас опять кто-то нашёл способ голосовать за самого себя, — сообщил он однажды утром, положив перед Джоном Харрисом распечатку.

— Я вчера это исправил.

— Именно поэтому я говорю «опять».

Джон взял лист.

Прочитал.

Посмотрел на Тодда.

— Как?

— Если открыть две сессии под разными именами, потом удалить вторую учётку после голосования…

— Но рейтинг должен откатываться.

— Должен.

— И не откатывается?

— Йеп.

Джон молча развернулся к терминалу.

Тодд улыбнулся.

Он любил свою работу.

Очень странной любовью.

Майкл Пондсмит относился к системе иначе.

Как дизайнер он ненавидел её интерфейс.

— Это ужасно, — заявил он.

— Это текстовый терминал, — напомнил Джон.

— Текст тоже может выглядеть хорошо.

— У нас восемьдесят символов.

— Значит, восемьдесят символов должны выглядеть хорошо.

Через неделю Duck Overflow получил рамки из ASCII-символов, более аккуратные заголовки, логотип с пиратской уткой и одинаковые обозначения для ответов, комментариев и принятых решений.

Джон считал изменения бессмысленными.

До тех пор, пока количество новых пользователей после обновления не выросло почти на треть.

После этого он перестал спорить.

Лиза Пондсмит увидела совершенно другую проблему.

— Междугородние линии.

— Что с ними? — спросил Майкл.

— Их не хватает.

— Это хорошо.

— Это дорого.

— Это плохо.

— И пользователи жалуются, что постоянно получают занято.

Майкл задумался.

— Это снова хорошо.

Лиза посмотрела на мужа.

— Я начинаю понимать, почему программистам нужен отдельный отдел продаж.

Через месяц система получила дополнительные телефонные номера.

Потом узлы появились в Лос-Анджелесе и Сан-Хосе.

Затем доброволец из Чикаго предложил держать зеркало базы вопросов у себя.

Кто-то из Нью-Йорка написал, что готов делать то же самое на восточном побережье.

Джон Харрис несколько минут смотрел на письмо.

— Если мы начнём синхронизировать базы между городами…

Тодд поднял глаза.

— Что?

— Ничего.

— Ты сейчас придумал что-то опасное?

— Возможно.

Самым неожиданным оказалось даже не то, сколько людей задавали вопросы.

А то, сколько людей хотели отвечать.

Инженер Hewlett-Packard объяснял школьнику устройство плавающей точки.

Студент Беркли помогал бухгалтеру написать сортировку.

Программист Atari ночью рассказывал владельцу домашнего компьютера, почему его игра мерцает.

Автор библиотек для UNIX спорил с шестнадцатилетним мальчишкой из Канзаса и через час признавал, что мальчишка прав.

Люди, которые никогда бы не встретились и даже не узнали о существовании друг друга, обменивались знаниями через телефонный провод со скоростью триста бод.

И иногда среди обычных вопросов появлялись такие:

BEGINNERS

TITLE: AM I TOO OLD TO LEARN PROGRAMMING?

USER: NEWSTART FEATHERS: 0

Мне сорок шесть.

Я бухгалтер.

Купил компьютер детям.

Начал читать BASIC и неожиданно понял, что мне интересно.

Но, наверное, начинать уже поздно?

Первый ответ был коротким.

USER: GREYBEARD FEATHERS: 12147

Нет.

Второй оказался длиннее.

USER: NANCYO FEATHERS: 84

Я учусь в MIT и каждый день встречаю людей моложе меня, которые знают больше.

Думаю, ощущение «я слишком поздно начал» появляется у всех.

Пишите программу.

Третий:

USER: TODDW FEATHERS: 311

Если найдёте в ней ошибку — значит, вы уже программист.

Ответ получил двадцать семь голосов.

Тодд потом долго утверждал, что не пытался шутить.

Ему никто не поверил.

Однажды вечером Джон Харрис остался в офисе почти один.

Терминал показывал статистику.

REGISTERED USERS: 18,421

Он несколько секунд смотрел на число, затем обновил экран.

18,427

За несколько минут зарегистрировались ещё шестеро.

На соседнем терминале сидел Тодд и проверял свежие жалобы.

— Джон.

— М?

— Тут пользователь спрашивает, почему система называется Duck Overflow.

— Потому что Stack Overflow уже звучит слишком скучно.

— А что такое Stack Overflow?

Джон замер.

— Ошибка.

— Я знаю, что ошибка. Какая?

— Когда стек переполняется.

— А утка тогда при чём?

Джон пожал плечами.

— Здесь почти всё почему-то при утках.

Тодд задумался.

— Логично.

Некоторое время они молча слушали щёлканье дисковода и тихие сигналы модема.

Потом терминал Тодда пискнул.

Новое сообщение.

Он открыл его.

DUCK OVERFLOW / GENERAL

TITLE: THANK YOU

Я работаю один.

До вашей системы мне иногда приходилось неделю искать ответ на проблему, потому что рядом просто не было человека, которого можно спросить.

Сегодня я получил ответ за двадцать минут.

Не знаю, кто всё это придумал.

Просто хотел сказать спасибо.

Тодд прочитал сообщение вслух.

Джон ничего не ответил сразу.

Потом откинулся на спинку стула и посмотрел на терминалы, провода, модемы и шкаф с дисками, которые ещё несколько месяцев назад обслуживали маленькую внутреннюю доску объявлений игровой студии.

— Надо сделать поиск, — наконец сказал он.

Тодд посмотрел на него.

— Что?

— Люди уже начинают задавать одинаковые вопросы. Нужен поиск по старым ответам.

— Это будет сложно?

Джон улыбнулся.

— Очень.

Тодд тоже улыбнулся.

— Значит, сделаем.

Модем снова пискнул.

На Duck Overflow появился ещё один вопрос.

It is rumored that…

Слухи в компьютерной индустрии распространялись значительно быстрее любой компьютерной сети.

Для передачи файлов требовались модем, свободная телефонная линия, терпение и желательно понимание того, почему соединение оборвалось на девяносто восьмом проценте. Для передачи слуха достаточно было одного человека, который увидел что-нибудь необычное, второго, которому он рассказал об увиденном, и третьего, точно знающего, что первые двое всё поняли неправильно.

USANet лишь сделал этот процесс эффективнее.

Первое сообщение появилось в воскресенье вечером в разделе, куда обычно складывали всё, что не удавалось классифицировать как программирование, электронику, игры или обсуждение того, почему Джек Трэмиел снова испортил кому-нибудь настроение.

[ USANET / GAMES / RUMORS ] THREAD #4417 TITLE: CANALLA IS MAKING A HANDHELD TETRIS??? USER: PHILLYBYTE

Не спрашивайте, откуда знаю.

Те самые Canalla, которые сделали Tetris, заказали разработку отдельной портативной машины только под него.

Не компьютер.

Не консоль.

Небольшая штука на батарейках с собственным экраном.

Видел прототип.

Играется потрясающе.

Первый ответ появился через три минуты.

USER: JOYSTICKJESUS

Не верю.

Через минуту:

USER: PET_OWNER

Аргументировано.

JOYSTICKJESUS:

Что значит «портативная машина только под Tetris»?

Это электронная игра Mattel.

Таких десятки.

PHILLYBYTE:

Не такая.

Экран большой.

Фигуры падают настоящие, как на компьютере.

Можно крутить.

Линии исчезают.

Счёт есть.

Прототип был с пиксельным LCD, но говорят, серийный экран будет проще.

BYTE_ME:

То есть хуже?

PHILLYBYTE:

Дешевле.

PET_OWNER:

Насколько дешевле?

PHILLYBYTE:

Человек, с которым говорил мой источник, сказал: они хотят сделать всю машину дешевле десяти долларов в производстве.

Пауза продолжалась почти пять минут.

Для USANet это соответствовало недоверчивому молчанию многотысячной аудитории.

JOYSTICKJESUS:

Bullshit.

CALTECH_DAVE:

Не обязательно.

Если дисплей не матричный, а сегментный, процессор вообще не нужен в привычном смысле. Дешёвый микроконтроллер, ROM, LCD-драйвер, кнопки.

Tetris для этого почти идеален. Поле фиксированное.

BYTE_ME:

Подожди.

Как сделать падающие фигуры на СЕГМЕНТНОМ экране?

CALTECH_DAVE:

Очень большим количеством сегментов.

BYTE_ME:

Это прозвучало одновременно умно и тупо.

CALTECH_DAVE:

Добро пожаловать в инженерное дело.

К полуночи первоначальные четыре строки обросли подробностями, значительная часть которых никогда не существовала в природе.

Кто-то точно знал, что устройство будет красным.

Другой пользователь столь же точно утверждал, что видел жёлтый корпус.

Третий сообщил, что Canalla Hardware заказала миллион экранов в Японии.

Четвёртый поправил его: четыре миллиона.

Пятый написал, что производство уже началось на Тайване и устройство появится в магазинах через две недели.

Через полчаса выяснилось, что оно будет комплектоваться солнечной батареей.

Ещё через двадцать минут — что солнечной батареи не будет, потому что игра настолько экономична, что двух элементов AA хватит на год.

На этом месте инженер под ником OHMS_LAW не выдержал.

OHMS_LAW:

Откуда вы берёте эту чушь?

LCD + четырёхбитный контроллер действительно могут жрать очень мало.

Но «год» вы только что придумали.

FUTUREKID:

А месяц?

OHMS_LAW:

Возможно.

FUTUREKID:

Полгода?

OHMS_LAW:

Ты торгуешься с физикой?

Почти незамеченным среди этого шума осталось сообщение человека, который действительно что-то знал.

USER: SIDKID

Если они разумные, звук уберут.

Пищалка ничего игре не даёт, зато расходует батареи и увеличивает BOM.

PHILLYBYTE:

Именно это обсуждается.

JOYSTICKJESUS:

Откуда ТЫ знаешь?

SIDKID:

It is rumored that.

После этого выражение прижилось.

Через несколько дней им на USANet предваряли любой слух, источник которого не хотелось или не получалось называть.

It is rumored that Atari закроет ещё одно подразделение.

It is rumored that Commodore готовит новый компьютер.

It is rumored that Apple делает маленькую машину с мышью.

It is rumored that парень из Canalla на самом деле не мексиканец.

Последняя тема прожила четыре часа, после чего модератор перенёс её в раздел GOSSIP / PEOPLE WE DO NOT ACTUALLY KNOW.

Но слух о портативном Tetris не умер.

Он просто встретился с другим.

[ USANET / HARDWARE / CONTROLLERS ]

THREAD #4592

TITLE: FOURTEEN BUTTONS. I AM NOT JOKING. USER: WOODSHOP

У меня есть знакомый, работающий с фирмой в Пенсильвании.

Они делают контроллер для Canalla.

ЧЕТЫРНАДЦАТЬ кнопок.

ATARI_VCS:

У человека десять пальцев.

WOODSHOP:

Спасибо за информацию.

ATARI_VCS:

Я серьёзно.

ЗАЧЕМ четырнадцать?

WOODSHOP:

Крестовина считается как четыре.

Четыре кнопки справа.

Четыре сверху.

Start.

Select.

Итого четырнадцать входов.

ATARI_VCS:

Четыре кнопки СВЕРХУ чего?

WOODSHOP:

Контроллера.

ATARI_VCS:

То есть кнопки надо нажимать УКАЗАТЕЛЬНЫМИ ПАЛЬЦАМИ?

WOODSHOP:

Поздравляю. Ты понял быстрее половины ветки.

На этот раз недоверие оказалось гораздо сильнее.

Портативная электронная игра хотя бы укладывалась в существующую картину мира. Электронный футбол помещался в карман. Mattel делала портативные игры. Nintendo в Японии продавала Game & Watch. Даже идея отдельного дешёвого устройства под одну особенно удачную игру выглядела необычно, но не безумно.

Четырнадцать кнопок выглядели безумием.

В 1983 году хороший джойстик должен был иметь ручку.

И кнопку.

Особенно продвинутый джойстик имел две кнопки, которые обычно всё равно делали одно и то же.

Люди десятилетиями совершенствовали человеческую цивилизацию и наконец пришли к практически идеальной схеме: левой рукой двигаешь палку, правой нажимаешь огонь.

А теперь какие-то калифорнийские канальи заявляли, что этого мало.

OLDARCADE:

Это плохой дизайн.

Если для управления игрой нужны четырнадцать кнопок, проблема не в контроллере. Проблема в игре.

FUTUREKID:

У клавиатуры больше.

OLDARCADE:

Клавиатура нужна для печати.

FUTUREKID:

А если игра сложнее «влево-вправо-стреляй»?

OLDARCADE:

Тогда игрок читает инструкцию.

FUTUREKID:

А потом нажимает F1, F3, пробел, Shift и букву Q?

То есть использует пять кнопок.

OLDARCADE:

Это другое.

FUTUREKID:

Почему?

OLDARCADE:

Потому что я старше тебя.

MOD_DUCK:

Аргумент принят как исторический, но не технический.

Главная сенсация появилась следующим утром, когда в ветку пришёл пользователь CHIPMONK, до того известный почти исключительно подробными ответами по устройству портов Commodore.

CHIPMONK:

Четырнадцать линий через стандартный joystick port не пролезут.

WOODSHOP:

Напрямую — нет.

CHIPMONK:

Тогда нужен другой разъём.

Значит, вы потеряете совместимость.

WOODSHOP:

Нет.

CHIPMONK:

Объясни.

Ответа не было почти час.

Затем появился новый пользователь.

SHIFTY:

Представим, чисто теоретически, что контроллер в обычном режиме выглядит для компьютера как стандартный джойстик.

Direction + Fire.

А программа, которая знает о расширенном режиме, переключает линию и начинает тактировать shift registers.

Кнопки читаются последовательно.

Бит за битом.

Через минуту:

CHIPMONK:

Ох.

Ещё через минуту:

ОХ.

OLDARCADE:

Что?

CHIPMONK:

Это на самом деле может работать.

ATARI_VCS:

Хорошо.

Допустим.

Но всё ещё остаётся главный вопрос:

НАХРЕНА?

И тут две ветки встретились.

[ USANET / GAMES / CANALLA ]

THREAD #4630

TITLE: THE FOURTEEN BUTTON GAME

USER: ARCADE_RAT

It is rumored that Canalla Games делает игру специально под свой новый контроллер.

Теперь всё сходится.

PET_OWNER:

Какую?

ARCADE_RAT:

Не знаю.

PET_OWNER:

Потрясающий источник.

ARCADE_RAT:

Но игра уже в разработке.

FUTUREKID:

Temple Run 2?

ARCADE_RAT:

Возможно.

И вот после этого слух окончательно перестал принадлежать людям, его породившим.

Про Temple Run 2 знали достаточно много, чтобы фантазировать, и недостаточно, чтобы фантазии чем-нибудь ограничивать. Canalla Games не особенно скрывала, что делает продолжение своей беготни по руинам значительно более сложным, использует съёмки живых актёров для анимации и зачем-то заставляет моделей прыгать, драться, ползать и бегать перед камерой.

В одной из передач YEP мелькнули несколько секунд ротоскопированной девушки.

Кто-то видел фотографии Изабеллы.

Кто-то слышал, что в игру добавили кошку.

Кто-то клялся, что видел чёрную кошку лично и она является главным боссом.

Последнее опровергать никто особенно не хотел.

PENNYFAN:

В Temple Run 2 уже есть:

бег прыжок приседание удар рукой удар ногой использование предмета стрельба

Это семь.

Плюс движение.

Вот вам и кнопки.

OLDARCADE:

В нормальной игре прыжок и удар — одна кнопка в зависимости от ситуации.

PENNYFAN:

Именно поэтому половина нормальных игр бесит.

GIRLWITHAPPLE:

Если я хочу прыгнуть, я хочу нажать JUMP.

Не «контекстно интерпретируемая кнопка, которая иногда открывает дверь».

OLDARCADE:

Что значит «контекстно интерпретируемая»?

GIRLWITHAPPLE:

Это значит, что я только что придумала проблему будущего.

Через сутки «четырнадцатикнопочная игра» уже не обязательно была Temple Run 2.

Кто-то сообщил, что Canalla разрабатывает симулятор космического корабля, где каждая кнопка отвечает за отдельную систему.

Другой утверждал, что это будет танковая игра.

Третий — что файтинг.

Четвёртый — что огромные боевые роботы.

Последняя версия подозрительно хорошо совпадала с настольной игрой Майкла Пондсмита, о существовании которой почти никто за пределами офиса Canalla Games знать не должен был, и потому получила особенно широкое распространение.

К обеду следующего дня появился список якобы назначений кнопок:

A — удар рукой B — удар ногой X — прыжок Y — использование L1 — блок L2 — смена оружия R1 — стрельба R2 — граната Start — пауза Select — карта

Первый комментарий:

T_WALKER:

Откуда у вас граната?

Автор ответа исчез из сети.

Тема приобрела статус легендарной.

Сетевые слухи обладали одним недостатком: чтобы прочитать их, человеку требовалось находиться возле компьютера.

Университетская столовая подобных ограничений не имела.

К середине недели распечатки наиболее интересных веток добрались до Беркли, Стэнфорда, MIT, Карнеги-Меллон и ещё нескольких мест, где молодые люди уже научились считать сон необязательной функцией человеческого организма.

В Беркли разговор начался над двумя подносами с едой, которую университетская столовая называла лазаньей исключительно из уважения к итальянскому народу.

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

Его сосед, уже третий день носивший одну и ту же футболку BSD, прочитал начало ветки и пожал плечами.

— Нет.

— Ты видел современный джойстик?

— Видел.

— Одна кнопка.

— Поэтому в Flight Simulator половина управления на клавиатуре.

— Это симулятор.

— И что?

Первокурсник задумался.

— Игры должны быть простыми.

— Игры были простыми потому, что больше ничего нельзя было сделать, — возразила сидевшая напротив девушка, даже не отрываясь от конспекта. — Это не одно и то же.

— Ты купишь контроллер с четырнадцатью кнопками?

— За двадцать долларов?

— Говорят, девятнадцать девяносто пять.

Теперь она подняла голову.

— Сколько стоит нормальный джойстик?

— Примерно столько же.

— Тогда куплю.

— Даже если игр нет?

— Если он работает со старыми играми как обычный — почему нет?

Разговор остановился.

Первокурсник снова посмотрел на распечатку.

Именно эта подробность почему-то меняла всё. Экзотическая периферия обычно умирала по одной и той же причине: для неё не делали игры, потому что её никто не покупал, а люди не покупали её, потому что для неё не делали игры.

Если слухи не врали, Canalla попыталась не решить эту проблему, а обойти.

Продать новый контроллер человеку, которому новый контроллер пока вообще не нужен.

— Это нечестно, — наконец сказал он.

— Что?

— Они курицу с яйцом обманули.

Девушка пожала плечами.

— Хорошая инженерия.

В Стэнфорде спор получился другим.

Там студентов больше заинтересовал не контроллер, а карманный Tetris.

— Десять долларов себестоимости, — сказал студент MBA, нарисовав цифры прямо на бумажной салфетке. — Допустим, двенадцать с упаковкой, логистикой и браком. Розница — тридцать девять девяносто пять.

— Почему сорок?

— Потому что люди заплатят.

— А если двадцать девять?

— Тогда купят больше.

— Именно.

— Но прибыль меньше.

— С одной штуки.

Через пять минут на салфетке появилась примитивная таблица, ещё через десять к обсуждению присоединились двое инженеров, а через двадцать никто уже не ел.

— Вы смотрите не туда, — наконец заявил один из инженеров. — Они пытаются продать не портативный компьютер.

— Именно.

— И даже не электронную игру.

— А что?

Парень постучал пальцем по распечатке USANet.

— Tetris.

Ответ сочли настолько очевидным, что никто его сначала не понял.

— Железо здесь расходник, — продолжил он. — Всё устройство существует ради одной программы. Не покупатель выбирает компьютер, а потом программу для компьютера. Он покупает программу вместе с компьютером, потому что иначе её нельзя получить.

MBA-студент перестал жевать.

— Это отвратительно.

— Почему?

— Потому что великолепно.

Он перевернул салфетку и начал считать заново.

В MIT слухи встретили значительно менее восторженно.

— Калифорния, — сказал аспирант, словно этого объяснения было достаточно.

На столе между ним и тремя студентами лежала очередная распечатка.

— Что «Калифорния»?

— Там постоянно кто-нибудь объявляет, что изобрёл будущее.

— Иногда они его действительно изобретают.

— Иногда получают Apple III.

Это был сильный аргумент.

— Портативный Tetris я ещё понимаю, — признал другой студент. — Но четырнадцать кнопок — интерфейсная капитуляция. Хорошая система должна уменьшать количество управляющих элементов.

— У тебя перед носом терминал с восемьюдесятью клавишами.

— Я не играю на нём.

— Ты вчера четыре часа играл в Rogue.

— Это исследование процедурной генерации.

— Конечно.

Под общий смех аспирант забрал распечатку и перечитал схему предполагаемого контроллера.

Ему не нравилось, насколько разумно выглядела идея с плечевыми кнопками.

Когда человек держал объект двумя руками, указательные пальцы действительно почти ничем не занимались.

Это было слишком очевидно после того, как кто-то другой уже додумался.

Самая неприятная разновидность хорошей идеи.

— Четыре сверху всё равно слишком много, — пробормотал он.

— Значит, через пять лет будут две.

— Почему?

— Компромисс.

— А через десять?

— Снова четыре.

Аспирант посмотрел на собеседника.

— Ты сейчас специально несёшь чушь?

Тот улыбнулся.

— It is rumored that.

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

В офисе Activision распечатка USANet прошла через несколько рук, прежде чем оказалась на столе у одного из ведущих разработчиков.

Прочитав половину, тот рассмеялся.

Дочитав до описания совместимости со стандартным портом, перестал.

— Если это правда, решение красивое.

— Четырнадцать кнопок?

— Не кнопки. Способ их читать.

Лист перевернулся.

— Обычная игра видит стандартный джойстик. Новая получает расширенное управление. То есть они не просят рынок перейти на новый стандарт в один день.

— Всё равно никто не станет писать игры специально под чужое устройство.

— Если устройств будет миллион?

Собеседник промолчал.

— А если десять миллионов?

— Они не продадут десять миллионов.

— Конечно.

Именно это обычно говорили перед тем, как кто-нибудь продавал десять миллионов чего-нибудь, существование чего ещё год назад казалось бессмысленным.

— Узнай, насколько слух настоящий.

— Каким образом?

— Позвони людям.

— Каким?

Разработчик посмотрел на него поверх распечатки.

— Тем, которые любят разговаривать.

В игровой индустрии таких хватало.

В Electronic Arts интерес оказался другим.

Трип Хокинс несколько минут изучал не схему геймпада, а описание портативного Tetris.

— Они становятся производителем игрушек?

— Формально Canalla Hardware — отдельная компания.

— Неважно.

Рядом лежала вторая распечатка, уже про четырнадцать кнопок.

— Вот это важнее, — сказал один из сотрудников.

— Нет.

— Новый стандарт управления?

— Может быть. Но новый стандарт ещё надо навязать рынку.

Хокинс постучал пальцем по первой странице.

— А здесь ничего навязывать не надо. Человек видит игру, хочет игру и покупает устройство. Он даже не обязан знать, какой там процессор.

— Вы считаете, это компьютер?

— Я считаю, что вопрос неправильный.

— А какой правильный?

— В каком отделе магазина это будет продаваться?

Никто сразу не ответил.

Компьютерный магазин?

Игрушечный?

Электроника?

Универмаг?

Книжный, если очень постараться?

— Вот когда поймём, — продолжил Хокинс, — тогда поймём, насколько это опасно.

Слово «опасно» он произнёс без недовольства.

Скорее с профессиональным интересом.

В Broderbund обсуждение получилось ещё короче.

— Canalla опять что-то делает.

— Что именно?

— Карманный Tetris и контроллер с кучей кнопок.

— Одновременно?

— Похоже.

— У них вообще есть взрослый человек, который время от времени говорит им «нет»?

— Есть.

— Не помогает?

— Судя по всему — нет.

После короткой паузы:

— Закажи один контроллер, когда выйдет.

— Для изучения?

— Конечно.

Оба прекрасно понимали, что «для изучения» в компьютерной индустрии означало «разобрать, обмерить, обсудить, почему мы сами так не сделали, а затем придумать юридически достаточно отличающийся вариант».

Самой спокойной оказалась реакция в Sierra.

Кен Уильямс дочитал распечатку до конца, положил её на стол и несколько секунд молчал.

— Ну? — спросила Роберта.

— Они опять это сделали.

— Что?

— Ещё ничего.

Кен раздражённо постучал пальцем по странице.

— Вот именно это меня и бесит. Ещё ничего не существует в продаже, а я уже вынужден думать, что с этим делать.

Роберта забрала распечатку.

— Портативный Tetris?

— Я знал, что они делают железку. Не знал, насколько далеко зашли.

— А контроллер?

— Про контроллер не знал.

Она дочитала описание четырнадцати кнопок и улыбнулась.

— Мне нравится.

— Тебе всё у них нравится.

— Не всё.

— Назови что-нибудь.

Роберта задумалась.

— Название VVVVVV ужасное.

— Спасибо.

— Но игра хорошая.

— Роберта.

Она рассмеялась и вернулась к распечатке.

— Кен, посмотри на это с другой стороны. Сейчас все пытаются понять, зачем человеку столько кнопок.

— Именно.

— Значит, через год все будут смотреть, как Canalla ими пользуется.

Кен помрачнел ещё сильнее.

Потому что жена опять сказала что-то неприятно разумное.

— Я ненавижу, когда восемнадцатилетние заставляют меня чувствовать себя старым.

— Ты не старый.

— Консервативным.

— Иногда.

— Это хуже.

А в бывшей Atari одна и та же распечатка вызвала две совершенно разные реакции.

Наверху кто-то написал красным карандашом:

GIMMICK.

Ниже инженер из аркадного подразделения приписал:

GOOD GIMMICK.

Ещё ниже другой:

IF $19.95 IS REAL, NOT A GIMMICK.

На следующий день появилась четвёртая надпись:

WHO THE HELL IS CANALLA HARDWARE?

Под ней кто-то аккуратно вывел:

The people hiring us when this place finally collapses.

Эту строчку быстро зачеркнули.

Но не настолько быстро, чтобы её никто не успел прочитать.

К концу недели никто за пределами нескольких кабинетов точно не знал, каким получится портативный Tetris.

Никто не видел серийного корпуса.

Никто не знал цену.

Никто не мог подтвердить, останется ли в устройстве звук, сколько оно проживёт на батарейках и правда ли туда собираются добавить Snake.

С новым контроллером ситуация была ещё хуже.

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

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

Temple Run 2?

Танки?

Мехи?

Файтинг?

Симулятор космического корабля?

На USANet открыли голосование.

Через сутки победил вариант:

SOMETHING WE HAVE NOT THOUGHT OF YET — 41%

И пожалуй, именно этот результат беспокоил игровую индустрию сильнее всего.

Потому что ещё год назад Canalla Games была почти никому не известной маленькой студией, название которой звучало как неудачная шутка.

Потом у неё появился Tetris.

Потом бесплатные программы.

Потом необычные игры.

Потом собственный язык.

Теперь из Пенсильвании ползли слухи о странном контроллере, из Калифорнии — о карманной игровой машине, а студенты уже спорили не о том, возможно ли всё это сделать, а о том, кто первым скопирует удачные решения.

Никто не знал, какие слухи окажутся правдой.

Но почти все сходились в одном.

Следить за уткой стало разумно.

На USANet появилась новая тема.

[ USANET / GAMES / RUMORS ] THREAD #4811 TITLE: WHAT IS CANALLA MAKING NEXT?

Первый ответ поступил через двадцать секунд.

SIDKID:

It is rumored that…

Второй — ещё через пять.

MOD_DUCK:

Нет.

Даже не начинайте.

Через минуту в теме было сорок семь сообщений.

Модератор сдался.

Назад дороги нет

В недалёком будущем, спустя несколько недель после событий предыдущей главы…

Первым делом Томас Рид выключил цвет.

Не компьютер — только цвет в редакторе.

Он потратил почти двадцать лет на то, чтобы научиться читать программу без всякой помощи со стороны программы, и не собирался позволять какому-то калифорнийскому мальчишке объяснять ему, какие слова в его собственном исходном коде являются ключевыми. Код должен быть текстом. Чёрным, белым или зелёным, в зависимости от того, какой монитор стоит на столе. Всё остальное — украшательство для людей, которым нечем заняться.

Canalla Editor достался Томасу вместе с демонстрационной дискетой от знакомого из Калифорнии. Тот прислал её в одном конверте с короткой запиской: «Попробуй хотя бы неделю. Если не понравится — можешь публично назвать меня идиотом».

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

Редактор запустился быстро.

Слишком быстро.

Меню оказалось слишком понятным.

Это уже вызывало подозрение.

На первое раздражение потребовалось меньше минуты. Ключевые слова выделялись другим цветом. Комментарии выглядели иначе. Скобки будто специально бросались в глаза. Стоило допустить опечатку в названии оператора, как программа подчеркнула строку ещё до запуска компилятора.

— Спасибо, мамочка, — пробормотал Томас и полез в настройки.

Через несколько минут экран снова выглядел как положено приличному программисту: однотонный текст на однотонном фоне.

Так стало лучше.

Почти.

На следующий день он впервые воспользовался разделением экрана.

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

Экран разделился.

Верхняя половина осталась на структуре.

Нижняя — на функции.

Томас несколько секунд смотрел на монитор.

Потом продолжил работать.

Никакого чуда не произошло. Компьютер не стал быстрее. Код сам себя не написал. Премию за инженерный прорыв выдавать было совершенно не за что.

Просто следующие сорок минут он ни разу не искал начало файла.

На третий день Томас снова включил цвет.

И никому об этом не рассказал.

---

Первое крупное обсуждение Canalla Editor на CompuServe началось с вопроса, который автор явно задавал не для получения ответа.

[ COMPUSERVE / КЛУБ ПРОГРАММИСТОВ ]

ТЕМА: CANALLA EDITOR — ЗАЧЕМ?

BYTECRUNCH:

> Получил копию.

>Это текстовый редактор.

>ТЕКСТОВЫЙ.

>РЕДАКТОР.

>Почему ему нужно знать синтаксис моего языка?

>Почему ему нужно запускать компилятор?

>Почему он подчёркивает мои ошибки?

>Для этого существует компилятор.

>Следующим шагом компьютер будет советовать мне, как писать программу?

Первый ответ появился через одиннадцать минут.

GRAYFOX:

> Было бы неплохо.

BYTECRUNCH:

> Нет.

GRAYFOX:

> Почему?

BYTECRUNCH:

> Потому что я программист.

GRAYFOX:

> Именно поэтому.

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

MAINFRAME_JOE:

> Попробовал неделю назад.

>Цвета отключил сразу.

>Разделение экрана оставил.

>Компиляцию по горячей клавише оставил.

>Поиск оставил.

>Подчёркивание ошибок отключил.

BYTECRUNCH:

> Наконец нормальный человек.

Через три дня в той же теме появилось новое сообщение.

MAINFRAME_JOE:

> Подчёркивание включил обратно.

BYTECRUNCH:

> Предатель.

MAINFRAME_JOE:

> Два раза написал RETRUN вместо RETURN.

>Компилятор даже не запускал.

>Я слаб.

GRAYFOX:

> Ещё один спасён.

---

На The Source разговор оказался менее эмоциональным и значительно более подозрительным.

Там аудитория была взрослее, денег в среднем имела больше и потому особенно настороженно относилась к бесплатным или слишком дешёвым вещам.

[ THE SOURCE / ПРОГРАММЫ И ИНСТРУМЕНТЫ ]

ТЕМА: НА ЧЁМ ЗАРАБАТЫВАЕТ CANALLA?

MARTIN_K:

> Что Canalla получает с этого редактора?

>Слишком хороший продукт для рекламной раздачи.

HEXMAN:

> Они продают коммерческие лицензии.

MARTIN_K:

> Тогда зачем отдавать демонстрационные копии?

HEXMAN:

> Чтобы мы сейчас о нём разговаривали.

Пауза.

MARTIN_K:

> Ладно.

>Это сработало.

Другой пользователь поинтересовался расходом памяти.

Третий — совместимостью с видеокартами.

Четвёртый немедленно заявил, что прямое обращение к видеопамяти является варварством и нарушает правильную архитектуру программ.

Пятый спросил:

SOFTENG:

> Быстро работает?

HEXMAN:

> Очень.

После этого спор об архитектурной чистоте продолжался ещё семьдесят два сообщения, но уже без прежней уверенности.

---

На Usenet редактору повезло ещё меньше.

Университетская публика обладала неприятной привычкой анализировать вещь до тех пор, пока от первоначальной вещи не оставалось ничего, кроме философского вопроса.

В net.lang.c кто-то начал с подсветки синтаксиса.

Через сутки обсуждали уже не редактор, а допустимость помощи программисту как концепции.

mike@somewhere:

> Если редактор знает синтаксис C, он перестаёт быть просто редактором.

dave@berkeley:

> Да.

mike@somewhere:

> Это плохо.

dave@berkeley:

> Почему?

mike@somewhere:

> Потому что инструменты должны делать одну вещь.

dave@berkeley:

> Он и делает одну вещь.

>Помогает писать программу.

Следом вмешался человек из университетской UNIX-среды.

rob@mit:

> vi уже помогает писать программы.

Ответ пришёл через несколько минут.

dave@berkeley:

> vi помогает редактировать текст.

>Canalla помогает заметить, что ты забыл кавычку.

Ещё через минуту:

rob@mit:

> Для этого есть компилятор.

И наконец:

dave@berkeley:

> После того как ты его запустишь.

На этом месте дискуссия на некоторое время остановилась.

Не потому, что стороны пришли к согласию.

Просто аргумент оказался неприятным.

---

DELPHI оказался первым местом, где возникла тема с названием:

Я НЕ МОГУ ВЕРНУТЬСЯ НАЗАД

Её открыл пользователь OLDTIMER, который утверждал, что после двух недель работы с Canalla Editor отправился к заказчику, где стоял обычный IBM PC с WordStar.

Первые десять минут прошли нормально.

На одиннадцатой он попытался разделить экран.

Не получилось.

На пятнадцатой набрал неправильное имя переменной и несколько секунд ждал, пока строка изменит цвет или хотя бы появится подчёркивание.

Ничего не произошло.

На двадцатой понадобилось проверить параметры функции в другом конце файла.

Он запустил поиск.

Вернулся.

Снова запустил поиск.

Вернулся обратно.

После третьего раза автор темы написал:

OLDTIMER:

> Я чувствовал себя человеком, которому отдали отвёртку после того, как он привык к электрической.

>Она работает.

>Я умею ей пользоваться.

>Но ПОЧЕМУ Я ДОЛЖЕН?

GREENSCREEN:

> То же самое.

>Вчера полчаса работал в старом редакторе и всё время пытался нажать клавишу компиляции.

ASM_DAD:

> У меня хуже.

>Я сидел и ждал, когда он подчеркнёт ошибку.

>Секунд пять.

>Потом вспомнил, что он этого не умеет.

OLDTIMER:

> Вот.

>Именно об этом я и говорю.

>Он не сделал старые редакторы хуже.

>Он сделал хуже нас.

GREENSCREEN:

> Нет.

>Он сделал нас избалованными.

OLDTIMER:

> Это и есть хуже.

---

Компьютерные форумы могли сколько угодно спорить о вкусах, но в коммерческих компаниях существовал значительно более неприятный критерий.

Деньги.

В одной из игровых студий Калифорнии Canalla Editor первоначально установили на два компьютера исключительно потому, что один из программистов принёс дискету и попросил разрешения попробовать.

Начальник отдела разработки разрешил.

Через неделю попросил установить ещё на четыре машины.

Не потому, что ему понравились цвета.

Он вообще не программировал уже несколько лет.

Причиной стала таблица.

Разработчики отмечали время, затраченное на задачи, поскольку руководство пыталось понять, почему очередной порт одной и той же игры опять опаздывал. Статистика была грубой и совершенно не научной, но после появления нового редактора в ней возникло слишком заметное изменение, чтобы его игнорировать.

На машинах с Canalla Editor среднее время от начала небольшой правки до первой рабочей сборки сократилось.

Не в два раза.

Даже не на треть.

Всего примерно на пятнадцать процентов.

Для программиста пятнадцать процентов выглядели скучно.

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

— Почему? — спросил руководитель.

— Быстрее редактируем.

— Я вижу цифры. Почему быстрее?

Ответы посыпались один за другим.

— Поиск удобнее.

— Два окна.

— Ошибки видно раньше.

— Компиляция по клавише.

— Не надо каждый раз выходить в командную строку.

— Цвет.

Последнее произнесли неохотно.

— Что цвет?

Молчание.

— Ребята?

Самый старший программист вздохнул.

— Код быстрее читается.

— Но вы мне неделю назад говорили, что это игрушка.

— Мы ошибались.

После небольшой паузы кто-то добавил:

— Не записывайте это.

Он записал.

---

В другой студии эксперимент провели уже намеренно.

Половина команды продолжила пользоваться привычными инструментами. Второй половине установили Canalla Editor. Обеим группам поручили исправлять ошибки и добавлять небольшие функции в один и тот же проект.

Через десять рабочих дней начальник производства положил результаты перед техническим директором.

— Группа Б быстрее на восемнадцать процентов.

— Мало данных.

— Согласен.

— Программисты разные.

— Поэтому на следующей неделе поменяли группы местами.

Он перевернул страницу.

— Теперь бывшая группа А быстрее на шестнадцать.

Технический директор перечитал таблицу.

— То есть дело в редакторе?

— Или редактор вызывает коллективное помешательство с одинаковым эффектом на две группы людей.

— Сколько стоит поставить его всем?

Ответ ему понравился значительно меньше самой статистики.

Но через два дня редактор стоял на всех машинах.

---

В курилке Activision дискуссия началась с того, что один из программистов попросил огонька и, не дожидаясь ответа, сообщил:

— Они считают нас медленными.

— Кто?

— Начальство.

— Это их работа.

— Нет. Теперь у них цифры.

Сигарета перешла из одной руки в другую.

— Какие цифры?

— У тех, кто работает в Canalla Editor, задачи закрываются быстрее.

— Насколько?

— Говорят, двенадцать процентов.

— Статистическая погрешность.

— В другом отделе семнадцать.

Пауза.

— Всё ещё погрешность.

— Тебе его уже установили?

— Нет.

— Поэтому ты так говоришь.

Через неделю тот же человек стоял в той же курилке.

— Ну?

— Что?

— Редактор.

Программист затянулся.

— Переоценён.

— Удалишь?

— Нет.

— Почему?

— Иди к чёрту.

---

У Broderbund неприятность оказалась несколько иной.

Один из ведущих программистов самовольно начал работать в Canalla Editor.

Потом второй попросил копию.

Потом третий.

Через две недели системный администратор пожаловался, что ему надоело устанавливать одну и ту же программу вручную.

Руководитель разработки впервые услышал о проблеме именно в такой формулировке.

— Зачем она всем?

— Потому что первый показал второму.

— А второму понравилось?

— Второй показал третьему.

— Я понял последовательность. Чем он лучше?

Администратор пожал плечами.

— Не знаю. Я не программист.

— Тогда почему ты им его ставишь?

— Потому что если не поставлю, они ставят сами.

Вопрос был закрыт.

---

В Electronic Arts подошли к проблеме профессиональнее.

Не потому, что программисты там были лучше.

Просто кто-то из руководителей достаточно рано понял, что если сотрудники внезапно начинают использовать один и тот же инструмент без приказа сверху, это либо эпидемия, либо полезная вещь.

Трип Хокинс попросил подготовить короткую внутреннюю записку.

Она уместилась на одной странице.

CANALLA EDITOR — ПРЕДВАРИТЕЛЬНЫЕ НАБЛЮДЕНИЯ ЗА ПРОИЗВОДИТЕЛЬНОСТЬЮ

— время навигации по крупным исходным файлам уменьшилось;

— количество повторных компиляций из-за простых синтаксических опечаток снизилось;

— программисты реже вынуждены переключаться между разными задачами и инструментами;

— разделение экрана особенно полезно при работе со структурами и длинными функциями;

— встроенный запуск компиляции экономит небольшое количество времени при каждом цикле, которое становится значимым за рабочий день;

— субъективная удовлетворённость после первой недели высокая;

— субъективная удовлетворённость в первый день низкая.

Последняя строка заставила Хокинса улыбнуться.

— Почему в первый день низкая?

— Они его ненавидят.

— А через неделю?

— Ненавидят старый редактор.

Он перечитал записку ещё раз.

— Это хороший продукт.

— Да.

— Наш?

— Нет.

— Тогда это менее хороший продукт.

---

На CompuServe тем временем появился новый спор.

Теперь уже не о том, нужен ли Canalla Editor.

Этот вопрос каким-то образом исчез сам собой.

Обсуждали другое.

[ COMPUSERVE / КЛУБ ПРОГРАММИСТОВ ]

ТЕМА: КАК ОТКЛЮЧИТЬ ПОДЧЁРКИВАНИЕ?

BYTECRUNCH:

> Кто знает, как отключить автоматическое подчёркивание?

GRAYFOX:

> Ты же его ненавидел.

BYTECRUNCH:

> Я всё ещё ненавижу.

GRAYFOX:

> Тогда зачем отключать?

BYTECRUNCH:

> Оно подчёркивает макрос, который редактор не понимает.

Раздражает.

GRAYFOX:

> То есть проблема в том, что функция, которую ты считал ненужной, недостаточно хорошо работает?

Пауза продолжалась три минуты.

BYTECRUNCH:

> Shut up.

---

Через несколько недель произошло то, чего не планировала никакая маркетинговая кампания.

Люди перестали обсуждать Canalla Editor как отдельный продукт.

Они начали обсуждать другие программы через сравнение с ним.

Новый редактор?

— Поиск хуже, чем в Canalla.

Новая среда разработки?

— А разделение экрана есть?

Компилятор?

— Его можно запускать из редактора одной клавишей?

Текстовый процессор?

— Почему он не подчёркивает ошибки?

Последний вопрос был несправедливым.

Текстовый процессор вообще не обязан понимать программу.

Но привычки редко интересуются справедливостью.

---

Томас Рид понял, что проиграл спор с дискетой, совершенно случайно.

Ему понадобилось поехать в другой офис компании, где стоял почти такой же IBM PC. Машина была хорошая, монитор нормальный, клавиатура привычная.

Canalla Editor не было.

Томас сел.

Запустил старый редактор.

Открыл файл.

Начал работать.

Через минуту попытался разделить экран.

Ничего.

Он нахмурился.

Через несколько минут написал имя переменной с ошибкой.

Ничего.

Компилятор сообщил об этом позже.

Томас исправил.

Потом потребовалось перейти к определению функции.

Поиск.

Назад.

Снова поиск.

Назад.

На пятнадцатой минуте он откинулся на спинку стула и несколько секунд смотрел на экран с тем выражением, с каким человек рассматривает гостиничный номер, в котором внезапно выяснилось отсутствие горячей воды.

Рядом работал молодой программист.

— Что-нибудь сломалось?

— Нет.

— Тогда что?

Томас ещё немного помолчал.

Признавать поражение не хотелось.

Особенно перед свидетелем.

— У вас есть дискета с Canalla Editor?

— Нет.

Томас закрыл глаза.

— Тогда сломалось.

---

В конце месяца на DELPHI появилась тема.

Автором оказался тот самый OLDTIMER, который несколькими неделями раньше открыл обсуждение Я НЕ МОГУ ВЕРНУТЬСЯ НАЗАД.

Новый заголовок был короче.

[ DELPHI / ПРОГРАММИРОВАНИЕ ]

ТЕМА: У НАС ПРОБЛЕМА

OLDTIMER:

> В нашем офисе сегодня умер компьютер.

Не редактор.

Сам компьютер.

Пока его ремонтировали, мне дали другой.

На нём не было Canalla Editor.

Я продержался сорок минут.

Потом пошёл искать установочную дискету.

Коллега сказал, что я избалован.

Я ответил, что он прав.

Мне всё равно.

Если прогресс означает, что человек перестаёт добровольно страдать, я согласен быть избалованным.

GREENSCREEN:

> То же самое.

ASM_DAD:

> То же самое.

PASCALMAN:

> Я его ненавидел.

GREENSCREEN:

> Мы все его ненавидели.

Пятый ответ появился от пользователя TEXTONLY, который несколько месяцев подряд выступал главным защитником простых текстовых редакторов.

TEXTONLY:

> Я всё ещё считаю, что хороший программист не нуждается ни в подсветке, ни в подчёркивании ошибок, ни в разделении экрана.

Но если кто-нибудь попытается забрать их у меня, я буду сопротивляться.

На этом можно было бы поставить точку.

Однако через несколько минут пришёл ещё один ответ.

OLDTIMER:

> Похоже, они тебе всё-таки нужны.

Пауза.

Потом:

TEXTONLY:

> Shut up.

Спасибо за чтение

Вернуться к книге