为什么大多数编程语言中没有更多的控制结构?

Gor*_*ter 2 syntax logic programming-languages

为什么大多数语言似乎只从逻辑的角度来展示相当基本的控制结构?像If ... then,Else ...,循环,每个,switch语句等等.从逻辑的角度看,标准列表看起来相当基本.

为什么逻辑句法糖的方式不多?也许类似于命题引擎,您可以在其中提供一系列前提或函数,这些前提或函数返回复杂的自引用相互依赖的函数和结果.你可以将一系列复杂条件链接在一起的东西,但代码的方式很简单易读.

前提1

前提2当前和仅当前提1

前提3

如果前提2和前提3是前提4

前提5当前和仅当前提4

等等...

结论

我意识到这种逻辑可以在函数和/或嵌套条件语句中构造.但是,为什么通常没有更多的语法选项来构造这些逻辑命题而不会导致看起来很难看的条件语句很难读取和调试?

我们通常在主流编程语言中看到的各种控制结构是否有解释?是否有您希望直接支持语言语法的特定控件结构?这会给语言增加不必要的复杂性吗?

Bri*_*sen 11

你看过Prolog吗?Prolog程序基本上是一组规则,变成一个大的评估引擎.

根据我的个人经验,Prolog有点太奇怪了,我实际上更喜欢ifs,whiles等,但YMMV.


Bil*_*win 5

布尔代数并不困难,它为您能想到的任何条件提供了解决方案,以及无数其他变体.

您也可以要求"常用"算术表达式的特殊语法.谁说什么是常用的?你在哪里停止添加特殊情况语法?

增加语言解析器的复杂性并不比使用构造表达式语法更好,并且通过定义函数结合可扩展性.