Как создать удобные инструменты программирования для людей?

Похоже нужно на время забыть такие слова как "синтаксис", "расширяемость", "типизация" и идти от психологии человека. В первую очередь оптимизация под человеческое восприятие, и лишь потом оптимизация под машину.

Похоже что главной проблемой в программировании является дисбаланс между Порядком и Хаосом. Та же причина, что причиняет людям страдание в обычной жизни. То о чём говорил Джордан Питерсон в своих лекциях и в книге "Карта Смыслов" (Maps of Meaning).

Haskell: слишком много порядка. Чувствуешь себя уверенно в своём коде, меньше неожиданностей. Зато гораздо тяжело вырваться из типизированной клетки, создать что-то что не так хорошо ложится на чистые функции.

Lisp: слишком много хаоса. Код может сам написать другой код во время выполнения. Пусть гибко и мощно, зато мучительно больно чинить и разбираться — слишком много всего может произойти.

Смешно, но похоже существуют left-wing и right-wing языки программирования.

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

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

Вдогонку:

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

Язык может быть очень хаотичным, но сложившиеся идиомы в сообществе могут его сделать менее хаотичным, и наоборот.

Например в Гугле есть свой набор правил написания C++ кода, который запрещает часть фич, вносит больше порядка, уменьшает хаос. Хотя язык сам по себе весьма хаотичен.