Бесконечная эпоха перемен.

топ 100 блогов sorhed14.09.2012 Когда-то в эпоху тёплых ламповых компьютеров люди писали прямо в машинных кодах, пользуясь ассемблером, или даже просто так. Существовали ещё и специализированные языки программирования: фортран, для вычислений, кобол, для бухгалтерии и прочего энтерпрайза, и ещё этот, со скобками. Всякие там PL/1 вспоминать не будем, для экономии времени.

И вдруг внезапно появился C — универсальный язык, который сохранил преемственность (можно ковыряться с битами и делать всякие там longjmp ну прям как раньше), и одновременно был языком высокого уровня, с настоящими функциями, аргументами, возвращаемыми значениями, flow control и whatsnot. Это позволило толпам уже имеющихся программистов не ломать мозги над каким-нибудь APL, а сразу же переходить на C, сохранив старые привычки.

Главным конкурентом C, как известно, был паскаль — аккуратный язык высокого уровня, с приличным синтаксисом и швейцарской причёсанностью. Но в нём надо было всецело отдаваться приличному процедурному программированию, без всяких там goto, ковыряний битов и прямых манипуляций с адресами. Короче, переходить в новую парадигму, и народу не понравилось — прагматичная сишечка больше отвечала народным чаяниям.

Через некоторое время история повторилась. В моду очень быстро вошло объектно-ориентированное программирование. И Страуструп тут же надстроил возможности худо-бедно работать с объектами над обычным C, сохранив все его возможности. Язык получился очень странным — сочетать ООП и нетривиальные compile-time вычисления с адресной арифметикой это то ещё развлечение. Зато он предоставил возможность перехода толпам уже существующих программистов на C, и получил огромное распространение. Потом C++ подчистили, добавили (почти) everything is an object, сборку мусора, и виртуальную машину из паскаля и получили Java. На джаве сразу стало можно писать почти как на C++, только проще, но всё равно преемственность сохранилась.

Золотым стандартом же в ООП был Smalltalk, который один реализовывал все возможности парадигмы правильно. Но Smalltalk обладал очень необычным синтаксисом, концепцией image, спёртой из ранее упомянутого языка со скобками, и требовал заметной перестройки мозгов — а C++ позволял плавный переход. Поэтому на смоллтоке писали и пишут лишь редкие энтузиасты, хотя то, что получилось в C++ и Java, можно назвать ООП лишь с большого похмелья.

Теперь у нас новый парадигматический сдвиг — народ начинает вкушать прелести функционального программирования, которое максимум лет через пять окончательно уже войдёт в мейнстрим. И тут как раз появился язык, который позволяет писать как раньше, практически на джаве, но надстраивает поверх этого неплохие средства функционального программирования. Ну, вы понимаете, о чём это я. Язык стремительно набирает популярность, а имеющиеся отдельно более чистые функциональные альтернативы вроде Standard ML и Haskell остаются на обочине истории. Впрочем, под JVM удачно портировали и этот язык со скобочками, который существует в параллельной вселенной и в мой анализ не входит.

Теперь вывод. Если моё понимание исторической перспективы правильно, то именно Scala будет флагманом нового мейнстрима. Это хорошо. Плохо то, что опять получается C++.

Оставить комментарий

Архив записей в блогах:
...но Гитлер как художник мне нравится. Например, вот эта картина, на которую навёл puffinusИ если бы он не стал заниматься политикой, а пошёл по линии искусства и достиг той или иной степени известности, то я, наверное, был бы одним из поклонников этого ...
О сражении под Ставучанами – и фельдмаршале Минихе 28 (или – 17-го по ст. ст.) августа 1739 года произошло малоизвестное сражение под Ставучанами (ныне – село в Черновицкой области Украины). Подзабыта эта славная виктория, наверно, из-за того, что случилась во времена Анны ...
Груз 200 отправляется в Крым. Александр Пархоменко погиб в Славянске. ...
Грядёт время перемен. Я никогда не любила горький шоколад — полюбила. Не любила редиску и укроп — кушаю радуюсь теперь. Не любила оливковое масло — полюбила. Что-то ещё было наверняка. Правда, до сих пор не люблю мёд, банановые и мятные ...
*** Психорелакс: по выходным - только отдыхательные посты*** А представляете, у нас бы в своё время были и такие картинки?       ...