gpt4 book ai didi

language-features - 某些编程功能何时以及以何种语言引入?

转载 作者:行者123 更新时间:2023-12-02 05:39:37 25 4
gpt4 key购买 nike

编程已经走了很长一段路。我还比较年轻(第一台计算机:C64),因此我认为编程中的许多东西是理所当然的,这些东西显然是在某个时候引入的,并且促进了现在司空见惯的编程方式。

下面是一个(绝不是完整的)功能列表,我很想知道这些功能是在哪种语言中以及何时引入的:

  • 功能介绍
  • 编译语言
  • 口译语言
  • 条件和循环结构
  • 数组
  • 字典(哈希表)
  • 允许多线程
  • 函数式编程(函数作为数据)
  • 面向对象(我们需要更具体一些吗?也许继承早于接口(interface)?)
  • 泛型
  • 面向方面的编程
  • 元编程

如果可以,请尝试用一些引用资料来支持您的陈述。如果您觉得我遗漏了一个重要的编程语言特性,其介绍也应该受到赞赏,请对此问题发表评论,以便将其添加到列表中。

更新:我想编程语言不能引入任何在汇编程序中不可能实现的东西,我宁愿寻找使某些功能对“凡人”可用的语言。

最佳答案

口齿不清。 1958.

或者,

  • 函数介绍 - Alonzo Church 的 lambda 演算,1930 年

  • 编译语言 - Grace Hopper,1952 年

  • 解释型语言 - Lisp,1958 年,也许更早。

  • 条件和循环结构 - Bletchley Park Bombe 1940 年代(循环运行)。提花,1801

  • 数组 - 作为带有索引的连续内存块,Bletchley Park 或 Manchester Baby,1940 年代

  • 字典(哈希表)- ?

  • 允许多线程 - Jacquard,1801;多路复用 1965

  • 函数式编程(函数作为数据)- Godel,1930 年代

  • 面向对象

    • Simula(Dahl 和 Nygaard,1967 年),用于基于继承的面向对象的类
    • CLU ( Liskov 1975 ) 迭代器有一个公共(public)接口(interface),并允许抽象数据类型封装状态和行为
    • Smalltalk(Kay 1970 年代后期)“一切皆对象”
    • Eifell ( Meyer 1986 ) design by contract 影响了 Java 的 interface
  • 泛型 - 泛型方法(又是 Lisp)还是参数类型(modula???)?

  • 面向方面的编程 - 常见的 lisp 元对象协议(protocol),80 年代后期

  • 元编程 - lisp 宏,50 年代或 60 年代的某个时候

关于language-features - 某些编程功能何时以及以何种语言引入?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1085958/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com