В попытках понять, зачем нужны эти заметки:
Представьте на минуту, случилось страшное. Компьютерные игры остановились на уровне 30-летней давности. Т.е. например, нет никаких красивых (и, местами, трехмерных) шмапов, скроллеров и арканоидов, а только SPACE INVADERS и, даже, BREAKOUT. (Допустим, это случилось из-за запрета очередного комитета на продажу ПЭВМ: либо играй на работе, либо паяй сам).
Конечно, отрицательные последствия сей трагедии неисчислимы: нечего делать геймдизайнерам и прочим маркетоидам; программировать игры совсем не так почетно и делать это можно, не тратясь на изучение/покупку движков/редакторов; с другой стороны, создание игр требует умения программировать (местами, системно)...
С другой стороны, написать игровую/полезную программу для ребенка/бабушки/девушки может любой инженер, не заботясь "о шейдинге". 20 строк на BASIC - и все удовольствие. Плюс, можно на коленке добавлять в игру то, что нужно/хочется.
Вернемся в нашу реальность...
Потребности писания на коленке не то чтобы исчезли, они просто стали неприличными. Например, когда-то у меня был карманный компьютер Palm m105. Всего-то, 8Мб памяти - одна-две книги, пара калькуляторов, записная книжка, FORTH, карта Питера/Москвы, больше ничего и не влезало. Однако, ни одно из устройств купленных позднее, в подметки не годилось этому дизайну. (Теперь - аккумуляторы вместо батареек? Зато я мог взять Palm с собой на охоту. Теперь - цветной экран высокого разрешения? А толку - ненужные Windows-контролы занимают его почти целиком. Теперь - немеряных размеров память? Зато, с жутко тормозящей файловой системой и синхронизацией, безошибочно убивающей нужные файлы. Теперь - постоянный онлайн. Плюс, плата за любой чих...) *). Однако, понятно, пользоваться таким динозавром сейчас, понятно, было бы западло.
*) На том форуме, где я рассуждал, меня одернули: все я неправильно понял, все очень удобно! Только два возражения: давайте, я сам буду решать, что для меня удобно; и возраст одернувшего - Palm-то старше.
Другой пример. Вот у меня сейчас есть страничка "про солдатиков". Используя "современные технологии" я могу, наверное, лишь симпатично организовать выставку-продажу отдельных солдатиков и зафигачить пару-другую игр "про солдатики" одного из "общепринятых жанров". Но, что поделать, и первое, и второе совершенно не вписывается в мои интересы. Я, кстати, и так получаю нарекания от тру-солдатистов за чрезмерную компьютеризацию. А попытка немного автоматизировать мои измышлизмы не только не поддерживается современными WEB-фичами, в которых просто нет того, что не имеет очевидной визуализации, но, более того, противоречит самой идее WEB-бизнеса, требующей отдельно покупать "весь комплекс услуг" ради одной разнесчастной фичи.
Третий пример. Как-то в смутные времена начальник построил нас, инженеров, и сказал: "Не знаю как, но в 8 часов утра на моем столе должен лежать курс доллара". На час раньше вставать никому не хотелось, и я быстренько слепил дискету: пара DOS-утилит, пара скриптов и "голый дед"-почтовик. Инструктаж уборщицы занял еще 5 минут: "Включаешь, выключаешь, вынимаешь, вставляешь, включаешь, отрываешь, относишь". И инженеры могут спать дальше. Раньше технические журналы были переполнены подобными полезными самодельными утилитками. Сейчас все по-другому: для того, чтобы сделать что-то полезное, нужно сначала купить делалку и получит лицензию.
Наверное, где-то есть сообщества Downgrade-ров, тащущихся от археологии. Но речь-то не о том, что раньше трава была зеленее, а о том, что мне конкретно не дают упростить себе жизнь. Например, поругал Qt-шников, а они в ответ: "Ты ничего не понимаешь в Qt потому, что твой @#$ сайт... на беслатном домене!" Зашел на форум программистов, так там под C, ASM, FORTH, PERL-CGI даже разделов нет. Конечно, они признают, что: "С и ASM до сих пор применяются в тех редких случаях, где что-то требуется от железа". Но, если не программистами, то как назвать людей, что-то хотящих от железа (в том числе поиграть)? (Зачем мне покупать новый Visual Studio, если мой FORTH, писаный на коленке за пару недель, может, в пределам моих потребностей, то же самое?)
Кстати, на известном ресурсе олд-гейма старыми уже считаются игры до 2005 года, а 1995 - годом, до которого вообще ничего не было.
Философское обоснование:
Можно ли под это субъективное мнение про "неправильный прогресс" подвести объективную базу? Есть ли в истории программирования точка, когда все "пошло не так"?
Ведь, что такое программирование (да и вся кибернетика в целом) - это все мечты о замене ручного труда машинным. Был ли в истории момент, когда человек был ближе всего к осуществлению этой мечты?
Был. 70-е годы прошлого века. В Киевском институте кибернетики Амосов строит не абстрактный искусственный интеллект, а разумного работника. Бир проводит свой Чилийский эксперимент по разумному управлению экономикой. Машины во-вот займут место... самой незащищенной и уязвимой части населения - чиновников и менеджеров...
Разумеется, случилось неизбежное - кибернетические разработки были свернуты во всех ведущих странах (японцы протелепались до 92-го). С этого момента задача программирования - заменить 1 инженера-программиста на 100 рабов-кодеров, 1 кассира/секретаршу - на 100 операционистов.
Остальные эпические фейлы - лишь последствия движения по этому пути. Windows, OLE-ActiveX, MDI, treads, XML - если внимательно посмотреть на любую из этих инноваций, мы увидим одно: машинное решение заменено на монотонный ручной труд. Конечно, иногда приходилось и отпускать вожжи, иначе тормозилась даже имитация полезной деятельности рабов - Visual Basic, WinG-GameSDK-DirectX, Qt...