「 Есть очень мощный подход: представьте, что уже имеется подходящая нотация для описания решения задачи, далее просто опишите решение. А затем реализуйте и нотацию. 」
Да, это действительно очень мощный подход.
Но, мне кажется, разные языки дают разную поддержку для этого подхода. Т.е., в одних языках проще получается реализовывать свои концепции, а в других — сложней. Один язык/компилятор бьет тебя по рукам, или вынуждает городить длинные конструкции, а другой — даже позволяет стрелять себе в ногу ;)
Наверное, это можно назвать мощностью выразительных средств языка. Как по вашему, возможно ли как-то более-менее объективно упорядочить языки по этой величине?
Или тут больше играют субъективные факторы?
#question #comparison
Я бы не говорил о "мощности выразительных средств" вообще. Все ЯП -- это в той или иной степени DSL, не смысла городить конструкции "про запас" и "на всякий случай". Скорее, надо говорить о средствах из конкретной области -- области построения встроенных компиляторов/интерпретаторов. Факторы тут вполне объективны -- давно ведь есть примеры того, как можно выразительно реализовывать ЯП.