- Любовные романы
- Фантастика и фэнтези
- Ненаучная фантастика
- Ироническое фэнтези
- Научная Фантастика
- Фэнтези
- Ужасы и Мистика
- Боевая фантастика
- Альтернативная история
- Космическая фантастика
- Попаданцы
- Юмористическая фантастика
- Героическая фантастика
- Детективная фантастика
- Социально-психологическая
- Боевое фэнтези
- Русское фэнтези
- Киберпанк
- Романтическая фантастика
- Городская фантастика
- Технофэнтези
- Мистика
- Разная фантастика
- Иностранное фэнтези
- Историческое фэнтези
- LitRPG
- Эпическая фантастика
- Зарубежная фантастика
- Городское фентези
- Космоопера
- Разное фэнтези
- Книги магов
- Любовное фэнтези
- Постапокалипсис
- Бизнес
- Историческая фантастика
- Социально-философская фантастика
- Сказочная фантастика
- Стимпанк
- Романтическое фэнтези
- Ироническая фантастика
- Детективы и Триллеры
- Проза
- Юмор
- Феерия
- Новелла
- Русская классическая проза
- Современная проза
- Повести
- Контркультура
- Русская современная проза
- Историческая проза
- Проза
- Классическая проза
- Советская классическая проза
- О войне
- Зарубежная современная проза
- Рассказы
- Зарубежная классика
- Очерки
- Антисоветская литература
- Магический реализм
- Разное
- Сентиментальная проза
- Афоризмы
- Эссе
- Эпистолярная проза
- Семейный роман/Семейная сага
- Поэзия, Драматургия
- Приключения
- Детская литература
- Загадки
- Книга-игра
- Детская проза
- Детские приключения
- Сказка
- Прочая детская литература
- Детская фантастика
- Детские стихи
- Детская образовательная литература
- Детские остросюжетные
- Учебная литература
- Зарубежные детские книги
- Детский фольклор
- Буквари
- Книги для подростков
- Школьные учебники
- Внеклассное чтение
- Книги для дошкольников
- Детская познавательная и развивающая литература
- Детские детективы
- Домоводство, Дом и семья
- Юмор
- Документальные книги
- Бизнес
- Работа с клиентами
- Тайм-менеджмент
- Кадровый менеджмент
- Экономика
- Менеджмент и кадры
- Управление, подбор персонала
- О бизнесе популярно
- Интернет-бизнес
- Личные финансы
- Делопроизводство, офис
- Маркетинг, PR, реклама
- Поиск работы
- Бизнес
- Банковское дело
- Малый бизнес
- Ценные бумаги и инвестиции
- Краткое содержание
- Бухучет и аудит
- Ораторское искусство / риторика
- Корпоративная культура, бизнес
- Финансы
- Государственное и муниципальное управление
- Менеджмент
- Зарубежная деловая литература
- Продажи
- Переговоры
- Личная эффективность
- Торговля
- Научные и научно-популярные книги
- Биофизика
- География
- Экология
- Биохимия
- Рефераты
- Культурология
- Техническая литература
- История
- Психология
- Медицина
- Прочая научная литература
- Юриспруденция
- Биология
- Политика
- Литературоведение
- Религиоведение
- Научпоп
- Психология, личное
- Математика
- Психотерапия
- Социология
- Воспитание детей, педагогика
- Языкознание
- Беременность, ожидание детей
- Транспорт, военная техника
- Детская психология
- Науки: разное
- Педагогика
- Зарубежная психология
- Иностранные языки
- Филология
- Радиотехника
- Деловая литература
- Физика
- Альтернативная медицина
- Химия
- Государство и право
- Обществознание
- Образовательная литература
- Учебники
- Зоология
- Архитектура
- Науки о космосе
- Ботаника
- Астрология
- Ветеринария
- История Европы
- География
- Зарубежная публицистика
- О животных
- Шпаргалки
- Разная литература
- Зарубежная литература о культуре и искусстве
- Пословицы, поговорки
- Боевые искусства
- Прочее
- Периодические издания
- Фанфик
- Военное
- Цитаты из афоризмов
- Гиды, путеводители
- Литература 19 века
- Зарубежная образовательная литература
- Военная история
- Кино
- Современная литература
- Военная техника, оружие
- Культура и искусство
- Музыка, музыканты
- Газеты и журналы
- Современная зарубежная литература
- Визуальные искусства
- Отраслевые издания
- Шахматы
- Недвижимость
- Великолепные истории
- Музыка, танцы
- Авто и ПДД
- Изобразительное искусство, фотография
- Истории из жизни
- Готические новеллы
- Начинающие авторы
- Спецслужбы
- Подростковая литература
- Зарубежная прикладная литература
- Религия и духовность
- Старинная литература
- Справочная литература
- Компьютеры и Интернет
- Блог
Археолог цифрового века – Том 1. 1966-1979 - Джимми Мехер
Шрифт:
Интервал:
Закладка:
Но почему именно Fortran? Дело в том, что выбор языков, поддерживаемых TOPS-10, был невелик. В число альтернатив Fortran входил язык ассемблера (но писать на нем игру вроде Adventure – еще большее мучение), а также ненавистный всем BASIC и, наверное, еще более ненавистный COBOL43 (COmmon Business Oriented Language, «обобщенный язык для применения в сфере бизнеса») – страшно негибкий язык, разработанный исключительно для неинтерактивной работы со структурами данных, т.е. рутинных расчетов и бизнес-вычислений, которые казались хакерам невыносимо скучными. Известный нам Эдсгер Дейкстра, желая, видимо, продемонстрировать, что сарказм не всегда идет рука об руку с изобретательностью, отзывался о COBOL примерно в том же духе, что и о BASIC: «Программирование на Коболе калечит мозг, поэтому обучение ему должно трактоваться как преступление». Собственно, методом исключения выбор и пал на Fortran.
Однако несмотря на то, что Краузер с Вудсом писали на одном и том же языке, подходы к оформлению кода у них коренным образом различались. Оригинальный исходный код, написанный Краузером, представляет собой весьма суровый образчик спагетти-кода и практически лишен комментариев, то есть сам по себе все равно что «лабиринт из маленьких запутанных переходов». Да, он, несомненно, лаконичен и прекрасно оптимизирован, но едва ли кто-то, кроме самого Краузера, был в состоянии его поддерживать или хотя бы прочесть. Окончательная версия Вудса, напротив, —образец чистоты и ясности: множество развернутых комментариев, а структура прозрачная и логичная – насколько, конечно, позволяет ограниченный инструментарий Fortran IV. Впрочем, даже невзирая на эти ограничения, читать код Вудса – одно удовольствие. Именно этим, я думаю, и объясняется, каким образом Adventure впоследствии столь быстро портировали на множество других языков и платформ: код Вудса позволял делать это чуть ли не с закрытыми глазами.
Сравнивать черновую заготовку с законченной версией, конечно, нечестно. Едва ли программа Вудса была такой читаемой с самого начала; ее шлифовкой явно занимались вплоть до самого релиза. Однако определенные выводы сделать все-таки можно. Во-первых, код явно демонстрирует различие в темпераменте: Краузер, хоть и признанный гений программирования, был скорее одиночкой, и потому явно не стремился комментировать свои решения и делать код понятным для последователей. Во-вторых, как уже упоминалось выше, Краузер с Вудсом принадлежали к разным поколениям хакеров. Краузер начал работать в 60-е годы, когда никаких законов «правильного» программирования не было и в помине; главное – добиться результата любым способом, который позволяло хилое «железо» тех лет. Вудс же сложился как хакер уже в 70-е годы, когда структурированность, прозрачность, читаемость и удобство сопровождения кода уже выходили на первый план и когда программисты сформулировали основные правила, которых мы – с некоторыми добавлениями и уточнениями – придерживаемся до сих пор.
В следующей главе мы поговорим о том, чем отличалась законченная версия Adventure с точки зрения геймплея.
12. Дон Вудс продолжает «Приключение», часть 2
Изначальный текст Adventure почти не претерпел изменений; Вудс лишь расширил его, немного переписав лаконичные инструкции, вызываемые по команде «ПОМОЩЬ», и добавив в игровой мир новые локации. Разница в стиле программирования на литературной составляющей не сказывается: Вудс умело подражает лаконичной, но при этом убедительной прозе Краузера. Понять, где заканчивается оригинальная версия и начинаются доделки Вудса, практически невозможно, точно так же как невозможно догадаться, что всю вторую половину игры сочинил совершенно другой человек.
Если действительно задаться целью выискивать различия, то можно отметить, что Вудс позволял себе включать в игру больше фантастических элементов и анахронизмов, а также не стеснялся время от времени ввернуть что-нибудь зрелищное. Хороший пример анахронизма – автомат, в котором продаются запасные батарейки для лампы. У Краузера лампа работала неограниченно долгое время – и логично, думал я, ведь профессиональный спелеолог и в симуляции прописал бы карбидную лампу, но никак не электрическую. Увы, эта гипотеза оказалась несостоятельной, так как даже в оригинальной версии на команду «ПОТЕРЕТЬ ЛАМПУ» следовал ответ: «ТЫ ТРЕШЬ ЭЛЕКТРИЧЕСКУЮ ЛАМПУ. НИЧЕГО НЕ ПРОИСХОДИТ». Впрочем, есть и другие детали, которые выдают разницу в жизненном опыте у обоих авторов.
Самый яркий пример из категории зрелищности – описание комнаты «Сногсшибательный вид» в глубине пещерного комплекса, самое длинное и вычурное во всей игре:
ТЫ СТОИШЬ НА КРАЮ ОБРЫВА. ПЕРЕД ТОБОЙ ОТКРЫВАЕТСЯ СНОГСШИБАТЕЛЬНЫЙ ВИД. ДАЛЕКО ВНИЗУ – ДЕЙСТВУЮЩИЙ ВУЛКАН, ИЗ КОТОРОГО МОЩНЫМИ ТОЛЧКАМИ ИЗВЕРГАЕТСЯ РАСКАЛЕННАЯ ЛАВА И СТЕКАЕТ ПО СКЛОНАМ В БЕЗДНУ. СВЕТЯЩИЕСЯ КАМНИ НАПОЛНЯЮТ ДАЛЬНИЕ УГОЛКИ ПЕЩЕРЫ КРОВАВО-КРАСНЫМ СИЯНИЕМ, КОТОРОЕ ПРИДАЕТ ЕЙ ЗЛОВЕЩИЙ ВИД. В ВОЗДУХЕ ПЛЯШУТ ИСКРЫ, ВИСИТ ТЯЖЕЛЫЙ ЗАПАХ СЕРЫ. СТЕНЫ ГОРЯЧИЕ НА ОЩУПЬ, И РОКОТ ВУЛКАНА ЗАГЛУШАЕТ ВСЕ ПРОЧИЕ ЗВУКИ. ВЫСОКО НАД ГОЛОВОЙ, СРЕДИ СТАЛАКТИТОВ, СКРЫВАЮТСЯ МИРИАДЫ НАРОСТОВ ИЗ ЧИСТЕЙШЕГО БЕЛОГО АЛЕБАСТРА, ОТБРАСЫВАЮЩИХ НА СТЕНЫ БЛЕДНЫЕ ПРИЗРАЧНЫЕ ОТБЛЕСКИ. ЧУТЬ В СТОРОНЕ – ГЛУБОКАЯ РАССЕЛИНА, ИЗ КОТОРОЙ ТОРЧАТ ОБЛОМКИ СТОЛЬ БЕЗУМНЫХ ОЧЕРТАНИЙ, ЧТО, КАЖЕТСЯ, ИХ ИЗВАЯЛ САМ САТАНА. ОГРОМНАЯ ОГНЕННАЯ РЕКА, С ГРОХОТОМ ВЫРЫВАЮЩАЯСЯ ИЗ НЕДР ВУЛКАНА, ПРОКЛАДЫВАЕТ СЕБЕ ПУТЬ СКВОЗЬ РАССЕЛИНУ И ОБРУШИВАЕТСЯ В БЕЗДОННУЮ ПРОПАСТЬ ГДЕ-ТО СЛЕВА. ПО ПРАВУЮ РУКУ ИЗ ПУСТЫННОГО ОСТРОВКА ПОСРЕДИ ЗЛОВЕЩЕ БУРЛЯЩЕГО СЕРНОГО ОЗЕРА ВЫРЫВАЕТСЯ ГЕЙЗЕР, ОБЖИГАЯ ВСЕ ВОКРУГ ПАРОМ. ДАЛЬНЯЯ ПРАВАЯ СТЕНА БУДТО БЫ ПЫЛАЕТ САМА ПО СЕБЕ, ДОБАВЛЯЯ ИНФЕРНАЛЬНОСТИ К И БЕЗ ТОГО АДСКОМУ ЛАНДШАФТУ. НА ЮГЕ НАХОДИТСЯ ПУГАЮЩЕ ТЕМНЫЙ ПРОХОД.
Отчего-то мне трудно поверить, будто Краузер мог сочинить и написать нечто подобное. Это явно не скромный домик в лесу, откуда начинается игра:
ТЫ ВНУТРИ ДОМА, ИЗ КОТОРОГО ВЫТЕКАЕТ РУЧЕЙ.
Описание выше часто сравнивают с описанием Роковой горы Ородруин в «Возвращении короля». Вудс, конечно, признавал, что зачитывался Толкиным

