Hai*_*yen 0 programming-languages
每种编程语言都有自己的词汇,真的很烦人.例如,在Java中我们有
if ... {}
Run Code Online (Sandbox Code Playgroud)
我们用Bash脚本
if ... then ... fi # using "fi" is so insane for me
Run Code Online (Sandbox Code Playgroud)
如果所有编程语言共享相同的词汇表,那将是非常好的.然后语言设计者可以定义底层语义.我想知道是否有任何尝试建立这样的词汇?
不,出于同样的原因,所有人类语言都没有相同的词汇:词汇和语义服务于特定的利基需求.希伯来语有超过20个词来描述收获(每种水果,谷物和蔬菜都是一个独特的词!); 阿拉伯语有几十只骆驼,依此类推.
计算机语言非常相似.bash强调一些功能(例如短命令,立即执行os命令),而Java强调其他功能(例如清除对象层次结构).这些强调是使用不同的语义和词汇来实现的.
有人可能会争辩说,可以有一个自动翻译器,它可以从一种语言中获取一个程序并将其翻译成另一种语言.虽然理论上可以(对于所有图灵完备语言),但由于一种语言中命令的含义与另一种语言中的含义之间的细微差别,它可能非常繁琐.例如,if关键字的含义可能在上述语言之间略有不同,特别是在出现错误和意外输入的情况下.
编辑: 在评论之后:我选择了另一个例子,因为似乎因纽特人的语言并不完全有数百个词来形容雪,只有很多形容词.