main

Оглядываясь назад

Нет, я не Байрон, я другой...

Навеяно этой новостью и древней копипастой "история програмных революций от майкрософт".

Итерация первая

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

Потом кто-то бросил клич "байтоёбство - отстой, все на ассемблер!", и это было разумно.

10 лет все писали на ассемблере и наплодили кучу его вариаций под различные архитектуры. Потом кто-то бросил клич - "долой ассемблер, даёшь переносимость!", и это было разумно.

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

Так появилась устойчивая ниша для существования ассемблера.

Итерация вторая

Остальные, следующие 10 лет писали на си и его вариациях. Потом кто-то бросил клич - "долой императивщину, объекты рулят!", и её запихали всюду, куда смогли дотянуться.

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

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

Но потом разум оставил эту нацию.

Итерация третья

Остальные, следующие 10 лет писали на плюсах и клепали формочки в дельфи. Потом кто-то бросил клич - "долой нативные приложения, все в виртуальную машину!" ему вторил многоголосый стон эффективных менеджеров, льющих слёзы над зарплатной ведомостью it-отдела. Придумали jav'у, C#, и ещё хренову кучу скриптовых языков, как общего назначения, так и для веба.

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

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

Часть народа, пережившая эту моду, вернулась к компилируемым языкам, зарёкшись впредь вестись на такой поролон.

Итерация четвёртая

Остальные, 10 лет писали ынтерпрайзные приложения на жабе, клепали очередной форум/гостевуху, раз в полгода меняя место работы из-за тотальной текучки и заменяемости персонала.

Потом кто-то уверенно бросил клич - "долой десктопные приложения, все в браузер!". И все кинулись переписывать ынтерпрайзные приложения на html5, добавлять поддержку тач интерфейсов и 47 версий браузеров начиная с IE5.

Но внезапно выяснилось, что браузер охреневает от тонн навешенного на него функционала, и разработчиков ынтерпрайзных приложений стали лишать премии, а иногда и бить в подворотнях из-за тормозов и кривизны функционала. И вот мы видим "нативные клиенты", "нативные плагины", cofeescript'ы, node.js, генерацию css на стороне сервера и прочие анальные расширители.

Что сказать-то хотел?

Мораль? Морали тут нет. Просто наблюдения за индустрией и чтение истории. Выводы делайте сами.