![]() |
1
21
这里是一个全面的历史主要编程语言结构,我已经能够识别到目前为止。毫无疑问,我遗漏了一些东西,但我相信SO社区将帮助识别这些遗漏。 普兰卡克 (1943-45)-由Konrad Zuse开发,这是第一种高级的非von Neumann编程语言,根据 Wikipedia 以及ACM文件的通信 "The "Plankalkül" of Konrad Zuse: A Forerunner of Today's Programming Languages" 作者:F.L.Bauer和H.Wossner。语言最初是为机械 Zuse Z1 computer 但A compiler implementation 柏林自由大学的一个团队直到2000年才开发出来。该语言介绍了以下内容:
福特朗 :
IPL (信息处理语言)-递归(稍后包含在Lisp中)-- (Newell and Simon) Lisp -垃圾收集、lambda表达式和动态类型--( McCarthy, 1960 ) McCarthy, 1978 ) Wikipedia: Garbage collection )和( Wikipedia: LISP ) Algl 58 -引入的代码块(但仅用于控制流,不用于变量范围)( Backus, 1959 ) Algl 60 -向代码块添加了词法范围,使用词法范围嵌套了函数定义( Backus et al 1963 ) Algl 68 -运算符重载( A. van Wijngaarden et al ) 模拟物 -对象、类、子类、虚拟方法、协程( Dahl et al ) 毫升 -参数多态性( Cardelli and Wegner ) ISBL (信息系统基础语言)-关系代数(在这里比在SQL中更早介绍)--( Hall et al ) Wikipedia: Relational algebra ) 方案 -第一个完全支持的闭包( Sussman and Steele, 1975 ) Sussman and Steele, 1998 ) 奇怪的是,对于四种最常用的现代编程语言,C、C++、Java和C.*,我无法识别任何可验证的、根本上新的编程语言构造。C++中的模板是在ML中引入的多态性的AdHoc版本。Java中新的语言特征最接近的是包含对线程的支持。大多数情况下,这四种语言都是其他地方发明的理想特性和概念的组合。 其他注意事项:虽然Prolog是第一批逻辑编程语言之一,但我无法识别以前在其他语言中没有引入的任何重要特性。 尽管有一些维基百科的参考资料,但上面列出的大部分功能都是由下面引用的可靠来源提供的。在我深入研究以寻找权威参考资料的地方,基于维基百科的细节已经很好地支持了这一点。 我引用的关于plackalk_¼l的ACM论文证实了它的大部分特性。康拉德·祖斯是个有远见的天才。 参考文献 F.L.Bauer和H.W.?ssner(1972年)。 The âPlankalkülâ of Konrad Zuse: A Forerunner of Todayâs Programming Languages . 通信 ACM,15(7):678_“685。 Ra_:L Rojas等人(2000)。 "Plankalkül: The First High-Level Programming Language and its Implementation" . 柏林弗雷大学信息研究所,技术报告B-3/2000。 J.W.巴克斯(1956)。 The Fortran Automatic Coding System for the IBM 704 EDPM . 国际商业机器公司。 Allen Newell和Herbert A.Simon(1956)。 The logic theory machine: a complex information processing system . 信息论信息技术交易2,第3号:61-79。 约翰·麦卡锡(1960)。 Recursive functions of symbolic expressions and their computation by machine, Part I ,ACM通讯,V.3 N.4,第184-195页,4月。 约翰·麦卡锡(1978)。 History of LISP . Richard L.Wexelblat,编辑,《编程语言历史:ACM Sigplan会议记录》,第173-197页。学术出版社,6月1-3日。 J.W.巴克斯(1959)。 "The Syntax and Semantics of the Proposed International Algebraic Language of Zürich ACM-GAMM Conference" . 国际信息处理会议记录。联合国教科文组织第125页“132. J.W.巴科斯,F.L.鲍尔,J.格林,C.卡茨,J.麦卡锡,P.瑙尔,A.J.珀利斯,H.鲁蒂绍斯,K.萨默森,B.沃奎斯,J.H.韦格斯坦,A.范·魏格纳登,M.伍德格;编辑:彼得·瑙尔(1963)。 Revised Report on the Algorithmic Language ALGOL 60 . ACM通讯,第6卷,第1号(1月),第1-17页。 A.van Wijngaarden,A.(编辑),mailloux,B.J.,Peck,J.E.L.,Koster,C.H.A.(1969)。 "Report on the algorithmic language ALGOL 68" ,第10.2.2节。数字。数学。14, 79—218。 Ole Johan Dahl、Bj_rm Myhrhaug和Kristen Nygaard(1970年)。 SIMULA, Common Base Language . (第二)。版本)奥斯陆,挪威计算中心。 Luca Cardelli和Peter Wegner(1985年)。 On Understanding Types, Data Abstraction, and Polymorphism . 《计算调查》,第17卷第4期,471-522页,12月。 Patrick A.V.Hall,Peter Hitchcock,Stephen Todd(1975年)。 "An algebra of relations for machine computation" . 第二届ACM编程语言原则研讨会会议记录,加利福尼亚州帕洛阿尔托:ACM,第225页“232”,1月。 Gerald Jay Sussman和Guy L.Steele,Jr(1975年)。 Scheme: An Interpreter for the Extended Lambda Calculus . 人工智能备忘录349,12月。 Gerald Jay Sussman和Guy L.Steele,Jr(1998年)。 "Scheme: A Interpreter for Extended Lambda Calculus" . 更高阶和符号计算11(4):399_“404,12月,Kluwer学术出版社,波士顿。 |
![]() |
2
3
switch语句-1965- ALGOL W 根据: http://ojs.pythonpapers.org/index.php/tpp/article/viewFile/49/45 所有程序语言之父Algol都没有案例陈述,因为案例的概念还没有在高级语言中被发明出来。然后在1965年,一种很少使用的语言algol w被发布,其中包含了c.a.r.hoare发明的switch…case语句,它允许非有序的非重叠值和范围。 C和Pascal都是从父语言派生而来的,并且都有一种形式的case:C——熟悉的switch(variable)case……和pascal,使用case变量begin value1:。C++版本、PHP、C语言和Java语法都是从C版本中派生出来的。 |
![]() |
Sudhanva c · 如何提高编码技能?[已关闭] 6 年前 |
![]() |
hoffm · 为什么Ruby找不到调用方类中定义的常量? 7 年前 |
![]() |
Thamme Gowda · “lambda”关键字的较短替代项? 7 年前 |
![]() |
AlphaModder · 有没有带有“不寻常”访问修饰符的编程语言? 9 年前 |
|
lucasasecas · 有可能静态地使用动态语言吗? 10 年前 |
|
Eugenio Laghi · 仅由括号、加号和感叹号组成的语言 10 年前 |
![]() |
dallin · 数组中的逗号运算符是否有名称? 10 年前 |