Всем известно деление основных языковых концепций на императивные и функциональные языки.
К ним стоит добавить особняком стоящий Форт, который, с одной стороны, в классическом виде является настолько императивным, что большинство изначально иперативных рядом с ним функциональными кажутся, с другой - позволяет лего реализовать и функцинальный базис (видел Пролог-подобное расширение всего в несколько килобайт исходных кодов).
Тем не менее, выставляя Форт, можно императивные языки поставить в середину между ним и языками функциональными.
Так вот, родилась у меня достаточно давно и всё укрепляется мысль, что:
- Функциональные языки написаны для чёрных логиков. Не быдлокодеров, а тех, кто действительно заботится о качестве своего кода. Чёрному логику тяжело охватить взглядом всю белологическую структуру программы, а ФП позволяет эту структуру раздробить на несколько субструктур, безошибочной связью которых занимается компилятор и, таким образом, позволяет ЧЛ- программисту меньше заботиться о связках в целом.
- Форт - это язык для БЛ. Общую структуру программы программист прекрасно держит в голове, взаимосвяз объектов очевидна, но, у всех БЛ проблема - безошибочная компоновка низкоуровневых, конечных, чернологичных элементов. Форт тут приодит на помощь, позволяя составлять программу из крошечных элементов, связи которых с внешними элементами строго заданы, а размер такой ("психологические" 7+/-2 активных элемента), что просто не позволяет развиться в них паразитным связям и особым ситуациям, которы программист-статик легко зевнёт. Зато, каждый такой кирпичик, легко отлаживается отдельно. Имея же набор безошибочно работающих кирпичиков, белый логик легко потом их соединить в целостную большую структуру - программу.
- Императивные языки находятся прмерно посередине, имея достоинства и недостатки и того и другого подхода...
...
Кстати, общая тенденция "чернологизации" программирования последних 10..15 лет, наверное, и объясняет то, что тот же Форт был практически вытеснен с рынка. Чёрному логику довольно неуютно в нём.
Этим же, наверное, объсянется и рост интереса последнего времени к функциональным языкам у профессиональных программистов.