Programming languages 是否有授权编程语言功能列表?

Programming languages 是否有授权编程语言功能列表?,programming-languages,language-features,Programming Languages,Language Features,我正在寻找动态类型、静态类型、弱类型和强类型 以及诸如多态性、继承、嵌套类、内部类、抽象类、纯虚拟函数等OO特性 还有反射、静态绑定、动态绑定等 然而,我并不是真的在寻找控制流、内置类型或语法糖之类的东西,比如A[5]和A.get(5)。不过,这不会有什么害处 如果有这样的东西存在并将这些概念映射到特定的语言,那就太棒了 我知道维基百科上已经解释了很多这些功能,但除非我已经知道这些功能是什么(我记得),或者碰巧找到了一个相互关联的链接,否则无法快速访问这些功能。事实上,我唯一一次使用维基百科做类

我正在寻找动态类型、静态类型、弱类型和强类型

以及诸如多态性、继承、嵌套类、内部类、抽象类、纯虚拟函数等OO特性

还有反射、静态绑定、动态绑定等

然而,我并不是真的在寻找控制流、内置类型或语法糖之类的东西,比如A[5]和A.get(5)。不过,这不会有什么害处

如果有这样的东西存在并将这些概念映射到特定的语言,那就太棒了

我知道维基百科上已经解释了很多这些功能,但除非我已经知道这些功能是什么(我记得),或者碰巧找到了一个相互关联的链接,否则无法快速访问这些功能。事实上,我唯一一次使用维基百科做类似的事情是,我碰巧看到有人引用了一个想法,我需要查找一下

我的主要目标是找到一种方法,让我能够快速发现或复习这些概念的知识,这样一份权威的清单将非常有用

如果这样的事情不存在,为什么

是不是因为不同的编程语言决定对其中的一些东西进行不同的命名,但实际上做的是相同的事情?(例如,纯虚拟函数(C++)与抽象方法(Java)),而其他人可能名称相同,但做的事情略有不同?(Java与C++中受保护的关键字)另一个原因可能是语言没有足够的共同特性来编译这样的列表,最好一次学习一种语言及其特性?在这种情况下,当我学习语言时,我可能会编译自己的“功能列表”


谢谢阅读!:)

如果你知道如何使用,维基百科可以用相对较少的搜索工作提供相对较多的信息——在这种情况下,手动浏览类别是必要的。通常,如果一些著名的语言在不同的名称下有相同的概念,反之亦然,则会在页面上注明

OO的概念以及其他范例的概念可以在各自的子类别中找到

包含许多与编程相关的术语

类似地,包含诸如静态/动态/弱/强类型等众所周知的术语,如果您感兴趣,还可以提供更多


等等……

彼得·范·罗伊的著作中对编程范式和构建这些范式的编程概念进行了很好的解释。尤其是在书中。()CTM(业界通俗地说是CTM)使用来介绍所有主要的编程范例

彼得·范·罗伊也做出了贡献。海报基本上是一个令人难以置信的压缩版CTM。关于这张海报的更透彻的解释载于这篇文章中,这篇文章作为一章出现在G.Assaag和A.Gerzso编辑的《计算机音乐的新计算范式》一书中。例如,它非常简明易懂地解释了什么是编程范式,什么是编程概念,以及两者之间的关系

另一本展示几种主要编程范例的好书是。这本书是麻省理工学院几十年来本科生编程入门(6.001)的基础

你可以找到。事实上,SICP也在其他大学教授

通俗地说,SICP可能是有史以来最好的编程书籍之一

SICP和CTM之间的主要区别在于教学方法:CTM使用一种已经支持它们的极其强大的多范式语言(主要是分布式Oz,但也有一些其他语言)演示了大多数主要范式。SICP-oth通过用一种本机不支持它们的语言(Scheme的子集)实现它们来演示它们。IOW:CTM将通过在Scheme中实现一个OO系统来教授OO,即用OO语言SICP编写的程序。看到在十几行代码中实现面向对象真是太棒了

是另一本伟大的相关书籍

解释了,编程语言的概念,从克兰德·楚泽的Primalk UL开始,继续使用第一个真正的编程语言,如Fortran、Lisp、COBOL、Algol、BASIC和ON to C、C++、java和艾达。 不幸的是,这是另一本经常被引用但我自己还没有读过的书

同上(丹尼尔·p·弗里德曼和米切尔·旺德)又名EoPL

更多的是关于实现编程语言的概念,但是它也以一种据说非常容易理解的方式谈论它们。(再说一遍,我还没有读过这本书。)

既然你问了很多关于打字的问题,我就不提了(本杰明C.皮尔斯写的),或者通常所说的TaPL。这本书基本上是关于类型理论的,因为它与编程语言有关。但是,请注意,它对类型的看法并非没有争议:例如,它完全否认动态类型的存在

为了平衡皮尔斯非常严格的定义,你绝对应该阅读卢卡·卡德利的《辉煌》。在本文中,他认为使用类型作为建模和结构化结构而不仅仅是安全网的编程本身就是一种编程范式。(例如,这与彼得·范·罗伊(Peter van Roy)的海报和书形成了鲜明对比,后者故意完全忽略打字。)


一个非常好的资源是weblog(这实际上是我被介绍到上面几乎所有阅读材料的地方。)

我确实认为这是最接近您所寻找的。非常感谢。这张海报绝对符合我所寻找的内容(基本上是一些可以快速告诉我有多少我不知道的东西!)。我也很欣赏对几个重要资源的简明描述。感谢您对我的文章的详尽回答