当我们提起高级语言的先驱,首先想到的总是Dennis Ritchie、Bjarne Stroustrup这些主流语言的设计者,似乎很少会提到Alan Perlis这个名字。但Alan Perlis主持设计的ALGOL,趋势C/C 等语言的鼻祖。

Alan Perlis 1922年出生于美国匹兹堡犹太家庭。21岁时,他获得了卡内基理工学院的化学学士学位,这个学院后来发展为现在美国计算机专业排名第一的卡内基梅隆大学。时逢二战,他弃笔从戎。服役期间,他突然对数学产生了强烈兴趣,并在1950年, 从麻省理工学院获得了数学博士学位。两年后他来到普渡大学,出任普渡大学计算中心首任主任,并将IBM CPC计算机引入了普渡,还为其设计了一个叫作IT(Internal Translator)的编程语言。四年之后,他又一跃当上了卡内基理工学院第一任计算机科学系主任,在卡耐基引入了IBM 650,并将IT语言移植到650上。这些使他在程序语言的设计方面,有了许多经验和体会。当ACM成立程序设计语言委员会时,Perlis坐上了主席的位置。

1958年5月27日,瑞士苏黎世召开了一场8个人的讨论会。这个会议并不隆重。ACM的4名代表和德国应用数学和力学学会(GAMM)的4名代表,索性把地点和双方名称连起来,叫苏黎

世ACM-GAMM会议。这场会议的组织者,就是Alan Perlis。他们将要在此讨论并规划一种新型的编程语言,叫作国际代数语言(IAL)。

世界上第一个高级语言Fortran存在一些严重的缺陷。比如说它专门为IBM 704设计的,要依赖特定的机器型号工作,很难向其他机器移植等等。IAL的专家们力求设计一种更好的高级语言。在讨论过程中,Perlis认为“IAL”这个词很绕口,于是将它改名叫作ALGOL。会议结束后,他们成立了一个工作组,根据讨论的结果,开发ALGOL的编译器。1958年年底,第一套编译器诞生了,按照年份命名为ALGOL 58。1960年,Alan Perlis总结了一些经验之后,再次召集参与ALGOL工作的计算机科学家们在巴黎进行了另一场研讨。这场会议的结果,就是后来的ALGOL 60。

1960年夏天,Dijkstra开发了第一个ALGOL 60的编译器,于是ALGOL系列语言正式登上了计算机科学的舞台。随后,Alan Perlis将它引入了大学的课堂。这是Alan Perlis的另一个重要贡献,因为在那个时代,计算机科学混沌初开,程序设计都只是数值分析的一部分。经过Alan Perlis的努力,人们终于看到计算机科学应该是什么样子。Dijkstra后来说,这是一个伟大的标志,可以说直到这个时候,计算机科学才真正地诞生了。而在接下来的30年里,ALGOL一直是教学和学术界用来描述算法的不二之选。它体现出的许多概念,都被后来的编程语言沿用。包括C、C 和Pascal在内许多主流语言,都因为继承了ALGOL的许多概念,而被称为“类ALGOL语言”。

Alan Perlis因领导了ALGOL的设计工作,并在早期计算机教育中做出了重要贡献,在1962年当选为美国计算机学会的主席,并在四年后,因为他对高级编程技术及其编译器构造的影响成为历史上首位图灵奖得主。五年后,他跳槽到耶鲁大学,连任多年计算机科学系主任,1977年当选美国工程院院士。1982年,退休后的Alan Perlis返老还童,写下了名文“Epigrams on Programming”,发表在ACM的SIGPLAN期刊上。其中包含130条编程箴言,可能是被引用最广泛的计算机文章之一。在发表在ACM的SIGPLAN期刊上,他写下了一系列关于编程的幽默:“如果你给别人讲解程序时,看到对方点头了,那你就拍他一下,他肯定睡觉了。”

Alan Perlis为名著《计算机程序的构造和解释》所写的序中写道,如果说艺术解释了我们的梦想,那么计算机就是以程序的名义执行着它们。计算机科学中特别重要的一点是保持趣味性,不要局限于眼前,应该不断寻找新方向,扩展计算机的能力。这些话今天听来,依然发人深省。
1990年2月7日,Alan Perlis因心脏病在纽哈芬去世,享年68岁。

转载于:https://www.cnblogs.com/orpheus89/p/9854864.html

[计算机]Alan Perlis人物简介相关推荐

  1. Java:计算机编程语言Java的简介、编程环境/工具、如何学习Java之详细攻略

    Java:计算机编程语言Java的简介.编程环境/工具.如何学习Java之详细攻略 目录 Java的简介 1.Java的工作原理--基于Eclipse等编程Java语言→定义Java类→Java虚拟机 ...

  2. 石油化工静设备计算机辅助设计桌面系统,PV Desktop 石油化工静设备计算机辅助设计桌面系统简介...

    文件介绍: 该文件为 rar 格式,下载需要0积分 PV Desktop 石油化工静设备计算机辅助设计桌面系统简介石油化工静设备计算机辅助设计桌面系统简介 (PV Desktop 9.3.1.0 版) ...

  3. 考研计算机专业介绍,2021考研:计算机专业考试科目简介

    计算机专业考试科目简介 101政治理论(100分) 201英语一(100分) 301数学一(150分) 计算机专业基础综合(150分,包括计算机组成原理.数据结构.计算机操作系统.计算机网络) 1.计 ...

  4. 班志杰内蒙古大学计算机学院,内蒙古大学计算机学院研究生导师简介-班志杰(博士)...

    内蒙古大学计算机学院研究生导师简介-班志杰(博士)内蒙古大学 免费考研网/2014-07-08 师资队伍 班志杰(博士) 来源:计算机学院发布时间:2013-11-2123:46:09 班志杰(197 ...

  5. 哈理工计算机学院学生会技术部,计算机与信息学院学生会简介

    原标题:计算机与信息学院学生会简介 暗中观察 默默关注 有人说, 进入学生会,就像在谈一场恋爱, 累,但快乐着. 入学工作已大致完成,各位萌新,有没有想........ 那么,在各位开始谈这场&quo ...

  6. 计算机地图制图pdf,《计算机地图制图》课件简介.pdf

    <计算机地图制图>课件简介 <计算机地图制图>课件简介 一.课程性质和目的 <计算机地图制图>是地图学与地理信息系统学科最重要的基础课程之一,旨在解决地图数据 在媒 ...

  7. 百度百科人物创建要求是什么,自己的人物简介怎么上百度百科

    是不是每一个人都能创建一个人物百度百科词条,并不是,只有满足一定条件,才能成功把自己的人物简介上传到百度百科上(下面洛希爱做百科网会具体讲到条件). 对于不熟悉百科规则的人来说,自己做百科是一件极其困 ...

  8. Java:计算机编程语言Java的简介、安装(编程环境/工具)、学习路线(如何学习Java以及几十项代码编程案例分析)之详细攻略

    Java:计算机编程语言Java的简介.安装(编程环境/工具).学习路线(如何学习Java以及几十项代码编程案例分析)之详细攻略 目录 Java的简介 1.Java的工作原理--基于Eclipse等编 ...

  9. 《计算机组成原理》课程简介

    <计算机组成原理>课程简介 一.讲什么:计算机硬件逻辑体系 二.课程概貌及教材推荐 三.课程地位 四.课程内容(4篇 概论+计算机系统硬件结构+CPU+CU) 一.讲什么:计算机硬件逻辑体 ...

最新文章

  1. 创建即时通信服务器的工具 openfire 简介
  2. 蓝桥杯抽卡游戏c语言,取球游戏——第三届蓝桥杯省赛C语言A组第10题
  3. 案例代码:sprimngboot备份数据库
  4. 2016秋季阅读计划
  5. php只显示一部分文章,typecho同一个页面下调用不同分类的文章但是却只显示一个分类文章...
  6. 1 小时顶 7 天!程序员工作中的巧思
  7. 获取北京时间授时api stm32 esp8266获取北京时间、年月日、星期api GMT格林威时间转换北京时间
  8. R-Sys.time计算程序运行时间
  9. 运行控制器方法之前先执行注解@ModelAttribute的方法
  10. [转]HashMap,LinkedHashMap,TreeMap的区别
  11. 阿里矢量库的图标使用教程(在线,下载)
  12. VisionPro工具说明
  13. con 元器件符号_altium designer常用元件电气符号和封装形式
  14. 科技楼里面有三间计算机教室,中学计算机网络教室管理工作总结
  15. PrimeNG p-tree 手动添加勾选
  16. selenium使用谷歌浏览器
  17. MongoDB副本详解
  18. HTTPSConnectionPool(host=‘***‘, port=443): Read timed out.
  19. 初级会计机考模拟系统计算机怎么用,2020初级会计《机考操作与应试技巧》之机考操作篇...
  20. 电机控制(1)直流电机的控制

热门文章

  1. 5G跌下神坛,相比4G可用的技术较有限,唯一的优势就是速度快一些
  2. 楚留香手游系统互通的服务器,楚留香手游安卓和ios数据互通吗 安卓和ios可以一起玩吗...
  3. 我的创业日记2(公司愿景)——我们的目标
  4. border-image 边框图片
  5. 今天,值得回忆的一天
  6. Vue——在vue中,动态js改变css样式 (css 层叠模式)
  7. 一招教你快速学会Linux ssh连接免密登录
  8. java获取请求的真实ip地址
  9. 外出前提前跟领导报备,安排工作备份人
  10. 矩形内外(函数)python