Бейсик XXI века

Да, это Python. Подобно тому, как пост-бейсиковая эпоха оставила после себя «проклятие GOTO» и «макаронное программирование», пост-пайтоновые времена обещают нам кризис посерьезней.

Будет аллергия на «сахар», будет конфликт «концептуалистов» с «практиками», будет массовая миграция на пост-пайтоновские языки и другие беды, доселе неведомые.

И его начнут стыдиться и избегать, точно так же, как сейчас стыдятся и избегают BASIC и PHP. Но это будет потом. Подождем…

Про SQL

В запросах полям можно назначать синонимы. Но по ним нельзя сортировать.

select name as username from users order by username

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

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

Выход я, конечно, нашел. Если использовать синонимы для таблиц, то в сочетании с реальными полями неоднозначность исчезает. То есть для таблиц синонимы определяются до сортировки, а для полей — после. Странная какая-то логика.

Lua

Католицизм — это круто

Кевин Смит, «Догма».

Lua — это язык программирования, написанный подразделением технологий компьютерной графики Папского Католического университета Рио-Де-Жанейро. Все-таки католики знают толк в миссионерстве — о языке Lua нет даже нейтральных отзывов, только восторженные. И восторг этот, как оказалось, вполне оправдан.

Lua («луна» по-португальски) проектировался — и до сих пор является непревзойденным в этом своем качестве — как встраиваемый язык сценариев. Он компактен; он прост — изучается без преувеличения за час; однако простота не синоним ограниченности, он мощен — поддерживает императивный, функциональный, объектно-ориентированный подходы, в нем даже есть многопоточность.

И он быстр — об этом говорит успешное применение в графике вообще и в видеоиграх в частности. В простеньком Angry Birds и в «навороченном» World of Warcraft, во вполне коммерческом Adobe Lightroom и в полностью свободном GIMP, в системном OpenWRT и прикладном SciTe — то есть везде, где быстрая низкоуровневая платформа нуждается в удобной и гибкой логической надстройке.

Lua работает везде. От мобильных устройств на Android, iOS и Symbian (и даже проще — игрушечных роботов Lego Mindstorm тоже можно программировать на Lua) до мейнфреймов. Впрочем, на мейнфрейме можно запустить все, что угодно, это не особенно интересно. Зато интересна поддержка всех разновидностей Windows, Linux и UNIX. Да, и MacOS с WindowsPhone тоже.

Определенно, Бог создал мир за шесть дней потому, что написал его на Lua.

Perl

perl -wle '(1 x $_) !~ /^(11+)\1+$/ && print while ++ $_'

Программа для вывода простых чисел. Вот это я понимаю, «магия слова».

XP

Экстремальное программирование («Extreme Programming») это дисциплина разработки программного обеспечения и ведения бизнеса в этой области, которая фокусирует усилия обеих сторон (программистов и бизнесменов) на общих целях. Команды, использующие ХР, производят качественное программное обеспечение с весьма большой скоростью.

Не в этом ли причина всеобщей болезни сорванных сроков — Doom 3, Half-Life 2, Need4Speed Carbon? Не могло это быть простым совпадением, что-то одновременно повлияло на монстров игрового рынка. Теперь понятно — «модная болезнь» ударила по связке «цена-время-качество», закона сохранения энергии ведь никто не отменял.

Причем на Западе это фактор «время», а у нас «качество» — Lada Racing Club, вышедший примерно в то же время, доводился до ума уже после выхода в продажу. Болезнь одна, только симптомы разные.