Неделя праздности располагает к несерьёзным размышлениям. И встретив 2017-й год, отметив тридцать пять лет BBC Micro, C64, ZX Spectrum, тридцать лет VGA, четверть века Wolfenstein 3D, двадцатилетие победы компьютера над человеком в шахматы, давайте порассуждаем о парадоксе, который знаком каждому, кто повидал или по крайней мере помнит прошлые вершины. Почему компьютеры больше не доставляют того удовольствия, какое доставляли раньше? Перефразируя наших англоговорящих друзей, интересующихся тем же вопросом, куда из computing’a подевался fun? И можно ли его вернуть?
Стареть — страшно, брюзжать про «счастливую молодость» ещё страшней: раньше, как известно, и трава была зеленее, и солнце ярче, и компьютеры хоть и восьмибитовыми, зато тёплыми, одухотворёнными! Всё так, но только списать всё на субъективность восприятия здесь не получится. Есть ряд совершенно объективных аргументов, свидетельствующих об утрате информационными технологиями вообще и компьютерами в частности свойств, которые делали их «особенными».
Возьмите магический ореол, окружавший компьютеры и ИТ ещё четверть века назад. Умение управляться с ними делало вас волшебником в глазах большинства! В какой момент, почему это волшебство было потеряно? Может потому, что сбылась мечта Гейтса и персоналка стала просто ещё одной вещью, вроде утюга, присутствующей в каждом квартире, каждом доме? А уметь починить утюг — полезно, но по разряду волшебства уже не проходит?
А разочарование в технологиях? Никакие цифровые технологии за последние тридцать лет так и не смогли совершить революционного скачка! Звук, графика, виртуальная реальность, интерфейсы, средства ввода и отображения, накопления данных — ничто не отличается принципиально от разработок 30-летней давности: всё или уже было, или как минимум исследовалось. 30 лет эволюции подарили нам гигагерцовые микропроцессоры и терабайтные винчестеры, но, положа руку на сердце, разве об этом мы мечтали? Ведь гигагерц — это просто в миллион раз быстрее мегагерца, на котором работали Z80 и КР580. Это быстро, да, но… без волшебства?
Сказалась и потеря лёгкости программирования. Требовалось меньше часа, чтобы написать осмысленную программу на восьмибитной машине, полученной в подарок. Вы просто запускали встроенный бейсик! На современных персоналках этот час уйдёт только на то, чтобы обновить систему до актуальной версии. А потом придётся доставать и изучать документацию по средам разработки и библиотекам, потому что многие вещи, делавшиеся запросто тридцать лет назад, сегодня требуют огромного объёма предварительного труда: попробуйте-ка нарисовать на экране линию!
А прямой доступ к аппаратным и программным ресурсам? Восьмибитные машины позволяли напрямую обращаться к портам и видеопамяти, ко всей оперативной памяти и хранящимся в ней программам (системные подпрограммы, BASIC как минимум). Хочешь вывести звук? Отправляй биты прямиком в порт динамика. Поставить точку на экране? Пиши напрямую в видеопамять или пользуйся тривиальными командами того же бейсика. Сегодня ничего подобного просто нет! И убедите меня, что нынешним детям это не нужно!
Наконец, за тридцать лет случилась трагическая потеря приватности. Всё и вся сегодня пытается контролировать пользователя, следить за ним, эксплуатировать результат. Софт и контент опутаны средствами DRM. Разработчики апп-сторов имеют власть над конечными устройствами — и способны удалять приложения без спросу, обновлять приложения без предупреждения. Вирусы, назойливая реклама — из той же области: всё ради информации о пользователе, всё против него! Ничего этого не было тридцать лет назад. Жизнь была проще.
Я буду рад, если вы дополните этот список, но и того, что уже названо, достаточно, чтобы утверждать: тоска по компьютингу 80-х и 90-х имеет под собой прочную и совершенно объективную основу. К сожалению, вернуться туда не получится. Да, можно раздобыть те самые компьютеры и попробовать их запустить и настроить. Опыт, накопленный здесь энтузиастами, говорит, что четверть века для восьмибитных конструкций — не проблема: максимум, придётся заменить электролиты и почистить контакты клавиатуры. А можно и вовсе отыскать современный радиоконструктор и собрать аналог древней машины самому.
Можно, но… Такой вариант не даёт практичности. А ведь восьмибитные машины применялись для решения вполне себе полезных задач: на них и учились, и считали, их использовали для управления другими устройствами, на них играли, на них строили бизнес (помните студии кабельного телевидения?). Сегодня применять их так — глупо, с их-то скоростями, интерфейсами, объёмами памяти!
И всё-таки прошлое не ушло безвозвратно. Если душа просит «тёплой восьмибитовой старины», рискну утверждать, что рецепт — есть. Снова не бесспорный (и я буду рад, если поспорите, если добавите!), но по крайней мере дающий надежду. Если не пригодится вам, может быть поможет вашим детям? Вот три его компонента.
1. Нужна система, которую вы не будете бояться испортить и которая будет достаточно «сырой», чтобы не прятать железо от пользователя. Прямого доступа к железу, конечно, не получить — для этого пришлось бы уйти к самым простым микроконтроллерам, что стало бы потерей даже по сравнению с 80-ми. Но Raspberry Pi и конструкторы Arduino вполне подойдут: ценой, компактностью, простотой.
2. Софт, без вопросов, должен быть только свободным. Linux, коллекции GNU. Не для того, чтобы изучать исходники — но ведь к этому и раньше никто не принуждал! Свободный, потому что только так можно избежать посягательств на свободу потребления информации и свободу эксперимента, только так гарантировать, что за вами никто не следит и только вы контролируете происходящее на своей машине!
3. Простотой программирования, увы, придётся поступиться. Предстоит учиться современным инструментам и трюкам — но не забывайте, что и возраст у вас уже не тот: вы — можете, а значит, вы должны! Самые свежие рекомендации по языкам на 2017-й год: Javascript и SQL. Близки к ним по востребованности Swift, Ruby, PHP, вечные Python и C/C++. Да, это уже не так просто, как бейсик, но помните, что необходимо не только вернуть «теплоту», а и сохранить практичность. Бейсик практичность давно потерял, он годен лишь в качестве первого языка.
Скажете, парадоксальный набор? А то, что вы когда-то осваивали программирование на компьютерах с объёмом памяти, в котором не уместилась бы эта веб-страница и пытались применять их для практически полезных задач, вам парадоксальным не казалось? 😉
P.S. Использованы графические работы Staffan Vilcans, Nick Gray, Shever, Alessandro Grussu.