Syntax 编程语言的相互可理解性

Syntax 编程语言的相互可理解性,syntax,programming-languages,Syntax,Programming Languages,借用语言学中的术语,哪种编程语言(如果有的话)在某种程度上可以相互理解?为了澄清,假设我们知道编程语言x,但我们碰巧需要阅读语言y中的一些代码。某些编程语言的流利程度甚至基本知识是否有助于理解我们不知道的其他语言的语法?作为一个了解大约20种不同计算机语言的人,我可以毫不犹豫地说,这绝对有帮助。我想说的是,它并没有以任何方式将自己局限于语言的一个子集,但在某些语言之间,它的程度肯定是不同的 例如,了解Java,我不费吹灰之力就学会了C。概念和感觉非常相似,这只是一个小小的跳跃。然而,学习LISP

借用语言学中的术语,哪种编程语言(如果有的话)在某种程度上可以相互理解?为了澄清,假设我们知道编程语言x,但我们碰巧需要阅读语言y中的一些代码。某些编程语言的流利程度甚至基本知识是否有助于理解我们不知道的其他语言的语法?

作为一个了解大约20种不同计算机语言的人,我可以毫不犹豫地说,这绝对有帮助。我想说的是,它并没有以任何方式将自己局限于语言的一个子集,但在某些语言之间,它的程度肯定是不同的

例如,了解Java,我不费吹灰之力就学会了C。概念和感觉非常相似,这只是一个小小的跳跃。然而,学习LISP,一种函数式编程语言,是一个完全不同的过程,需要我用不同的思维来真正掌握它。我会把这等同于学完英语后再学习写西班牙语,然后再学习写汉语。拼音字母表的概念在人们捡起它的容易程度上有很大的不同


而且,就像许多语言是从拉丁语演变而来的一样,许多计算机语言也是从C这样的共同词根演变而来的。因此,就像语言一样,你可以看到共同的祖先。

我在日常生活中使用JavaScript和Ruby,但我也可以查看一些objective-C,找出它试图做什么(即使我自己无法编写)一般来说,你知道的语言越多,学习另一种语言就越容易

计算机语言被组织成各种各样的语言。很像实际的语言。如果你学过一种,那么其他同类的就更容易了。例如,如果你只说葡萄牙语,你可能会比说汉语的人懂更多的西班牙语。如果你说中文,你就能读一些日本汉字,因为它们来自同一个东西

具体来说,计算机语言分为过程语言(C,Fortran)、面向对象语言(C++,Ruby)和函数语言(Haskell,Closure)。当然,有些语言借用了其中几个(JavaScript)的元素,因此有灰色阴影


tldr:是的,了解一种语言可以帮助你理解另一种语言。

C++、Java、JavaScript和许多其他语言采用了C语言的一些语法。