×

面向对象编程:一些历史和未来五十年的挑战。 (英语) Zbl 1358.68062号

摘要:面向对象编程与Ole-Johan Dahl和Kristen Nygaard在设计Simula公司1961年春天,挪威计算中心开始使用语言。然而,五十年后的今天,我们认为,面向对象是思想、约束和人之间复杂相互作用的结果。达尔和尼加德肯定会承认它是他们的后代,但也可能会对它的成长感到惊讶。
本文基于2011年8月22日奥斯陆大学Ole-Johan Dahl hus科学开放之际所作的演讲。它着眼于Simula公司支持面向对象的思想,这些思想是如何演变成为主导的编程范式的,以及在我们应对未来五十年信息学的挑战时,它们能提供什么。

理学硕士:

68甲19 其他编程范式(面向对象、顺序、并发、自动等)
68-03 计算机科学史
PDF格式BibTeX公司 XML格式引用

参考文献:

[2] Nygaard,K。;Dahl,O.-J.,SIMULA语言的发展,(Wexelblat,R.L.,编程语言史I(1981),ACM:美国纽约州纽约市ACM),439-480
[6] Radin,G.,《PL/I的早期历史和特征》,SIGPLAN公告,13,227-241(1978)
[7] O.-J.达尔。;Nygaard,K.,《类和子类声明》,(Buxton,J.N.,《模拟编程语言》,奥斯陆IFIP工作会议记录(1967年),北荷兰:北荷兰阿姆斯特丹),158-174·Zbl 0199.51903号
[8] Dahl,O.-J.,讨论者发言记录,(Wexelblat,R.L.,编程语言史I(1981),ACM:美国纽约州纽约市ACM),488-490
[9] Bracha,G。;冯·德·阿赫,P。;Bykov,V。;Kashai,Y。;马多克斯,W。;Miranda,E.,《模块作为新闻语中的对象》,(D′Hondt,T.,ECOOP.ECOOP,《计算机科学讲义》,第6183卷(2010),斯普林格出版社),405-428
[10] 布莱克,美联社。;布鲁斯,K.B。;霍默,M。;Noble,J.,Grace:没有(无关紧要的)困难,(继续!’12:第12届SIGPLAN软件编程新思想与反思交响曲会议记录(2012),ACM:ACM纽约),85-98
[11] O.-J.达尔。;Hoare,C.,《分层程序结构》(Structured Programming,1972),学术出版社,175-220
[12] Hoare,C.A.R.,记录处理,ALGOL Bull。,21, 39-69 (1965)
[13] (Genuys,F.,《编程语言:北约高级研究所》(1968),学术出版社:纽约伦敦学术出版社)·Zbl 0174.48301号
[14] Dahl,O.-J.,《面向对象编程的根源:Simula语言》(Broy,M.;Denert,E.,《软件先驱:对软件工程的贡献》(2002),Springer-Verlag:Springer-Verlag Berlin,Heidelberg),79-90·Zbl 0997.68001号
[15] Wegner,P.,《基于对象的语言设计的维度》(Meyrowitz,N.,《第二届ACM面向对象编程系统、语言和应用会议论文集》(1987),ACM出版社:佛罗里达州奥兰多ACM出版社),168-182
[16] 布莱克,A.P。;哈钦森,N。;7月,E。;Levy,H.,Emerald系统中的对象结构,(第一届ACM面向对象编程系统、语言和应用会议论文集(1986),ACM出版社:俄勒冈州波特兰ACM出版社),78-86
[17] 布莱克,A.P。;Hutchinson,N。;7月,E。;利维,H.M。;Carter,L.,Emerald中的分布和抽象类型,IEEE Trans。软件工程,SE-13,65-76(1987)
[18] 库克,W.R.,《继承的指称语义》(1989),布朗大学计算机科学系,博士论文
[20] Archer,B.,《编程引言》(2011),最后一次访问的网页为2012年1月22日
[21] Wadler,P.,《函数编程的本质》,(第十九届ACM编程语言原理研讨会会议记录(1992),ACM出版社:新墨西哥州阿尔伯克基ACM出版社),1-14
[22] Wadler,P.,《理解单子,计算机科学中的数学结构》,2461-493(1992),最初发表于1990年6月的ACM Lisp和函数编程会议·Zbl 0798.68040号
[23] Kay,A.C.,《Smalltalk的早期历史》,(第二届ACM SIGPLAN编程语言历史会议。第二届美国计算机学会SIGPLAN程序语言历史会议,HOPL-II(1993),美国计算机学会出版社:美国纽约州纽约市ACM出版社),511-598
[24] Snyder,A.,《对象的本质:通用概念和术语》(1991),惠普实验室,技术报告HPL-91-50
[25] Snyder,A.,对象的本质:概念和术语,IEEE软件,10,31-42(1993)
[26] Krogdahl,S.,Simula编程语言中的概念和术语——Simula文献新读者简介(2010)
[27] Ingalls,D.H.,Smalltalk背后的设计原则,Byte,6286-298(1981)
[28] 博宁,A.H。;Ingalls,D.H.H.,Smalltalk的类型声明和推理系统,(第九届ACM程序设计语言原理研讨会会议记录(1982),ACM出版社:美国新墨西哥州阿尔伯克基ACM出版社),133-141
[29] Hoare,C.,《数据表示正确性的证明》,《信息学报》,1271-281(1972)·Zbl 0244.68009号
[30] Parnas,D.L.,《关于将系统分解为模块时使用的标准》,美国通信协会,第15期,第1053-1058页(1972年)
[31] Liskov,B。;斯奈德,A。;阿特金森,R。;Schaffert,C.,《CLU中的抽象机制》,ACM委员会,第20期,第564-576页(1977年)·Zbl 0362.68018号
[32] Church,A.,《Lambda-Conversion的微积分》,《数学研究年鉴》,第6卷(1941年),普林斯顿大学出版社
[33] Reynolds,J.C.,作为数据抽象补充方法的用户定义类型和过程数据结构,(Schuman,S.A.,《算法语言新方向会议》,IFIP Algol工作组2.1(1975),INRIA:INRIA慕尼黑,德国),157-168
[34] Reynolds,J.C.,《作为数据抽象补充方法的用户定义类型和过程数据结构》(Gries,D.,《编程方法:IFIP WG2.3成员文章集》)。编程方法:IFIP WG2.3成员的文章集,计算机科学的文本和专著(1978),Springer-Verlag:Springer-Verlag纽约,海德堡,柏林),309-317·Zbl 0395.68021号
[35] Reynolds,J.C.,《作为数据抽象补充方法的用户定义类型和过程数据结构》(Gunter,C.A.;Mitchell,J.C,《面向对象编程的理论方面:类型、语义和语言设计》(1994年),麻省理工学院出版社:麻省理学院出版社剑桥),13-23·Zbl 0828.68036号
[36] Cook,W.R.,《关于理解数据抽象》(Arora,S.;Leavens,G.T.,《第24届ACM面向对象编程、系统、语言和应用会议论文集》(2009),ACM),第557-572页,重温
[37] 休伊特,C。;Bishop,P。;Steiger,R.,人工智能的通用模块化行动者形式主义,(Nilsson,N.J.,IJCAI(1973),William Kaufmann,斯坦福大学:William Kaufmann,斯坦福大学加利福尼亚分校),235-245
[38] Armstrong,J.,《Erlang中面向并发的编程》,(Frühjahrsfachgespräch 2003(FG 2003)(2003),德国Unix用户组:德国科隆大学用户组)
[39] Borning,A.,面向对象语言中的类与原型,(FJCC(1986),IEEE计算机学会),36-40
[40] 布莱克,A.P。;Hutchinson,N.,《翡翠中的类型检查多态性》(1991),剑桥研究实验室数字设备公司,技术报告CRL 91/1(修订版)
[41] Taivalsaari,A.,委托与串联,或克隆也是继承,SIGPLAN OOPS Mess。,6, 20-49 (1995)
[42] Madsen,O.L.,BETA概述,(Knudsen,J.;Madsen,O.;Magnusson,B.,面向对象环境(1993),Prentice Hall:Prentice Hall Englewood Cliffs,NJ),99-118
[43] 布莱克,A.P。;北卡罗来纳州哈钦森。;7月,E。;Levy,H.M.,《翡翠编程语言的发展》(Ryder,B.G.;Hailpern,B.,HOPL III:第三届ACM SIGPLAN编程语言历史会议论文集(2007),ACM出版社:ACM出版社,加利福尼亚州圣地亚哥),11-1-11-51
[44] Meyer,A.R。;Reinhold,M.B.,“类型”不是类型:初步报告,(第十三届ACM编程语言原则研讨会会议记录(1986),ACM出版社:美国佛罗里达州圣彼得堡海滩ACM出版社),287-295
[46] Duan,C.,《理解git:存储库》(2012年),(2003年8月12日访问)
此参考列表基于出版商或数字数学图书馆提供的信息。其项与zbMATH标识符进行启发式匹配,可能包含数据转换错误。在某些情况下,zbMATH Open的数据对这些数据进行了补充/增强。这试图尽可能准确地反映原始论文中列出的参考文献,而不要求完整或完全匹配。