具有通用编程支持的第一语言


15

哪种语言是第一种具有通用编程支持的语言,什么是第一种主要的具有泛型支持的静态类型语言(广泛使用)。

泛型实现参数化类型的概念以允许多种类型。术语“泛型”的意思是“属于或适合于大型类”。

我看过以下提到的“第一”:

一阶参数多态性现在是静态类型编程语言的标准元素。从系统F [20,42]和函数式编程语言开始,这些结构已进入主流语言(例如Java和C#)中。在这些语言中,一阶参数多态性通常称为泛型。

摘自《高级泛型》,阿德里安·摩尔,弗兰克·皮森斯和马丁·奥德斯基

通用编程是一种计算机编程风格,其中,算法是根据以后要指定的类型编写的,然后在需要将其作为参数提供的特定类型时实例化。这种方法由Ada于1983年提出

来自维基百科通用编程

Answers:



4

可能是Lisp。在1960年代或多或少都这样做了。实际上,如果问题是什么是第一种几乎没有做任何值得注意的语言的语言,您可能会发现它简直是轻率。令人恐惧的是,实际上X语言的酷炫新功能实际上就是1960年Lisp的酷炫新功能!


7
Lisp不是静态类型的,因此在这种情况下“泛型”甚至没有意义。
Rufflewind

那么“泛型”仅对某些静态类型有意义。有许多类型的系统具有不同的属性。
Zachary K

@ZacharyK“泛型”表示的特定类型系统功能是参数多态性,在非类型化语言中这是没有意义的。
杰克

3

在泛型之前有模板,在宏替换之前。


模板不是参数多态性,这是大多数人在类型上下文中说“泛型”时的意思。模板和宏甚至不与类型系统绑定,它们完全是正交的功能。
杰克

这个答案将“ Java泛型”与“泛型编程”混淆了。
卡兹(Kaz)
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.