虽然尼克劳斯·沃斯可能不像上世纪计算机硬件及其上运行的软件快速发展的其他先驱那样家喻户晓,但他的贡献使他与其他巨人并列。作为一个非常熟悉的面孔,无论是在他的祖国瑞士苏黎世联邦理工学院,还是在斯坦福大学和世界上其他书写计算机历史的地方,尼克劳斯不仅为我们带来了 Pascal 和 Modula-2,而且还启发了无数其他人语言及其开发者。
遗憾的是,Niklaus Wirth 于 1 年 2024 月 89 日去世,享年 2 岁。在去世之前,他继续致力于 Oberon 编程语言及其相关操作系统的工作:Oberon 系统和多进程、SMP-功能强大的 A86 (Bluebottle) 操作系统,可在 x86、X64_1960 和 ARM 硬件上本机运行。尼克劳斯留下了从 XNUMX 世纪 XNUMX 年代延续至今的遗产,很难想象现代计算的任何方面没有受到 Niklaus 的某种影响或直接改进。
新的算法
Niklaus Wirth 出生于 1938 年,在 苏黎世联邦理工学院 1959 年,他在魁北克拉瓦尔大学获得理学硕士学位,随后于 1960 年在加州大学伯克利分校获得电气工程和计算机科学博士学位。此后,他于 1963 年至 1963 年在斯坦福大学担任计算机科学助理教授。
在此期间,他将开发 欧拉 与 Helmut Weber 一起开发的编程语言,作为当时流行的 ALGOL 60 编程语言的概括和扩展。他还会设计 PL360,IBM System/360 的系统编程语言,IBM System/360 是斯坦福大学的新计算机系统。他对 PLXNUMX 的描述及其设计背后的推理 发表 参见《ACM 杂志》(计算机器协会)第 15 卷第 1 期。在其中,他表示希望 PL360 能够作为一种教程语言使用,并引起未来计算机设计者的兴趣,并说明了他的重点是如何减少对这个 IBM 平台的关注,而更多地关注一般编程语言的开发。
随着 ALGOL 60 的老化,有人呼吁为下一个 ALGOL 版本提供建议,称为“ALGOL X”作为占位符。 1965 年,Niklaus 提交了一份对 ALGOL 60 进行一系列补充的提案,但由于新的 ALGOL 版本“不够雄心勃勃”而被拒绝。即便如此,他还是被邀请向 ACM 杂志提交建议,其中 它被推荐了 1966 年 60 月号。 Niklaus 将他的提案发展为 ALGOL XNUMX 的扩展,称为 阿尔戈尔W,而他的同事 Adriaan van Wijngaarden 的 ALGOL X 提案后来成为 ALGOL 68。
尽管存在一定程度的竞争性质,但相关各方之间并没有不和,非常快乐的 Niklaus Wirth 激励了 Van Wijngaarden 等人 讽刺 在 1965 年 IFIP 大会上,“欧洲人通常以正确的方式发音他的名字(‘Nick-louse Veert’),而美国人总是把它改成‘Nickel's Worth’。这就是说,欧洲人称呼他的名字,而美国人称呼他的价值。”
帕斯卡及超越
尼克劳斯遵循自己的路线,使用 ALGOL W 作为最终的基础 帕斯卡尔,以法国著名数学家和物理学家布莱斯·帕斯卡的名字命名。这种编程语言于 1970 年首次发布,后来通过 PL360 实现了 Niklaus 的许多愿望,因为它成为学校和大学的重要教学工具,并用于对小型计算机进行编程,从而使计算机在外界变得更加容易使用大型大学和公司。
Pascal 被 Borland 和 Apple 开发为 Object Pascal,其中 Delphi 方言可能是最著名的方言之一。与此同时,Niklaus 开始开发一种名为 Modula 的新语言,但在 1976 年休假之后(在此期间他在 Xerox PARC 实验室度过了一段时间,并受到他们的 Xerox Alto 系统和随附的 Mesa 语言的启发),他放弃了 Modula 并创建了 Modula一2 相反,它与苏黎世联邦理工学院开发的 莉莉丝 工作站,1980 年发布。
这是一个 AMD 2900基于系统,运行完全用Modula-2、Medos-2 编写的操作系统。从这里开始 1987 谷神星 工作站及其命运多舛 NS32000 处理器紧随其后,首次使用了 Oberon 系统。虽然一个 Modula一3 也发布了,这不是由 Niklaus Wirth 开发的,而是由 Maurice Wilkes 开发的,他得到了 Niklaus 的许可继续 Modula,因为 Niklaus 本人正忙于 奥伯伦 编程语言以及用它编写的操作系统。
仲夏夜之梦
真正审视 Niklaus Wirth 的职业生涯,除了感受到他真正享受职业生涯的各个方面之外,很难得到任何其他东西,无论是创造一种新的、更好的编程语言的挑战,与志同道合和志同道合的同事交换想法,还是越来越多地开发操作系统,尝试两种基于文本的 UI(TUI) 和缩放 UI (ZUI)。尽管他指出,到 1980 世纪 XNUMX 年代末,软件总体上已经开始超越其运行的硬件的能力(称为 沃斯定律),这并没有阻止他继续他认为正确的事情。
1984 年,他在提高计算机编程语言水平方面所做的努力得到了 ACM 的认可,当时他获得了 图灵奖,以及一系列书籍,例如 算法+数据结构=程序 在教育内外都被广泛使用。尽管像 Pascal 这样的语言在当今的计算机科学世界中只占很小的份额,但很难低估它以及 Modula-2 和其他 Niklaus Wirth 设计的语言对当今计算机科学领域的影响。
我们今天所接受的命令式和面向对象编程语言的大部分规范,无论是 C++、Ada、Java 还是当今存在的数百种其他大大小小的语言中的任何一种,都可以追溯到 ALGOL 60。 Niklaus 几十年来为使编程语言变得尽可能简单和有效而付出的努力塑造和滋养了它。即使在今天,像牛津这样的大学仍然在计算机科学课程中使用 Oberon,牛津甚至维护着自己的 Oberon-2 编译器(OBC).
许多现代编程语言的学习曲线大多是垂直的,而 Oberon 及其前身的特点是它们首先是简单而优雅的,这使得它们与 Niklaus 的书籍一样成为优秀的教学工具。尽管教学生使用他们在工作中不太可能遇到的语言进行编程似乎很奇怪,但 Niklaus Wirth 多年来已经证明,重要的不是语言,而是它们背后的结构和定义。
他没有将 ALGOL 开发到 2000 年代,而是选择设计、使用然后丢弃一种又一种编程语言,他对某些方面不满意,但他确信自己可以在下一次迭代中改进。
保护遗产
尼克劳斯·沃斯的遗产面临的最大风险也许是数字遗忘,尤其是考虑到他职业生涯的成果。即使在对他的学术过去和像 Oberon(语言和操作系统)和 A2(蓝瓶) 操作系统,看到大量损坏的超链接以及苏黎世联邦理工学院针对后一个操作系统的已失效的代码存储库,令人心碎。我找到了一个 旧镜子副本 Bernhard Treutwein 在 GitHub 上提供了许多备用 URL,包括 活跃的 GitLab 实例 这似乎是主存储库。
尽管许多信息和数据似乎仍然存在,但对于新手来说,没有什么好方法来了解或开始尼克劳斯的这些最后的项目,通常在俄语网站上可以找到更多信息,大概是由于Modula-2 和 kin 在苏联及其后继国家的使用。这种支离破碎的状态增加了这样的风险:越来越多的大量遗产将慢慢腐烂,而很少有人意识到这一点,甚至更少人试图保护一切。
谨以此献给尼克劳斯·沃斯 (Niklaus Wirth) 的遗产,使其永远保留在不断变化的、完美的荣耀中,以免这一切都变成一个几乎被人遗忘的仲夏夜之梦。
(上图:Niklaus Wirth 和他在 1970 世纪 XNUMX 年代开发的 Lilith 系统。(照片:苏黎世联邦理工学院))
- :具有
- :是
- :不是
- :在哪里
- 1
- 15%
- 1
- 2024
- 250
- 400
- 60
- a
- Able
- 关于
- AC
- 学者
- 接受
- 无障碍
- 承认
- ACM
- ADA
- 增加
- 后
- 年龄
- 所有类型
- 沿
- 靠
- 还
- 尽管
- 有雄心
- 美国人
- 量
- an
- 和
- 任何
- 什么
- 出现
- 出现
- Apple
- 保健
- ARM
- 围绕
- AS
- 方面
- 方面
- 助理
- 相关
- 社区
- At
- 可使用
- 察觉
- 远离
- 坏
- BE
- 成为
- 成为
- 成为
- 成为
- 很
- 开始
- 背后
- 作为
- 伯克利
- 更好
- 之间
- 大
- 最大
- 血液
- 书籍
- 天生的
- 都
- 破
- 忙碌
- 但是
- by
- C + +中
- 加州
- 呼叫
- 被称为
- CAN
- 能力
- 寻找工作
- 一定
- 挑战
- 选择
- 类
- 码
- 同事
- 同事
- 开始
- 公司
- 竞争的
- 一台
- 计算机科学
- 电脑
- 计算
- 代表大会
- 考虑
- 继续
- 持续
- 继续
- 捐款
- 可以
- 课程
- 创建
- 创造
- 信用
- 曲线
- data
- 死亡
- 几十年
- 定义
- 解散
- 德尔福
- 证明
- 描述
- 设计
- 设计师
- 尽管
- 开发
- 发达
- 开发
- 发展
- 研发支持
- 数字
- 直接
- 屏 显:
- 不
- 做
- 梦想
- 两
- ,我们将参加
- 教育
- 有效
- 工作的影响。
- 电气工程
- 遭遇
- 工程师
- 输入
- 特别
- ETH
- 苏黎世联邦理工学院
- 醚(ETH)
- 欧洲人
- 甚至
- EVER
- 千变万化
- 所有的
- 一切
- 进化
- 例子
- 优秀
- 交换
- 表示
- 延期
- 广泛
- 广泛
- 面部彩妆
- 熟悉
- 著名
- 感觉
- 毡
- 少数
- 少
- 找到最适合您的地方
- 姓氏:
- 专注焦点
- 其次
- 针对
- 最重要的
- 永远
- 基金会
- 支离破碎
- 法语
- 止
- 水果
- 履行
- 充分
- 未来
- 给
- 其他咨询
- 通常
- 得到
- 巨头
- GitHub上
- 荣耀
- Go
- 非常好
- 得到了
- 民政事务总署
- 硬
- 硬件
- 有
- 有
- he
- 此处
- 他
- 他自己
- 他的
- 历史
- 抱有希望
- 家庭
- 创新中心
- HTML
- HTTPS
- 数百
- 超链接
- i
- IBM
- 思路
- 说明
- 图片
- 影响力故事
- 势在必行
- 重要
- 改善
- 改善
- in
- 包含
- 日益
- 影响
- 信息
- 专题
- 灵感
- 鼓舞人心
- 代替
- 兴趣
- 接口
- 成
- 不变地
- 邀请
- 参与
- 问题
- IT
- 迭代
- 它的
- 本身
- 一月
- 爪哇岛
- 工作
- 日志
- JPG
- 六月
- 只是
- 亲属
- 实验室
- 景观
- 语言
- 语言
- 大
- 名:
- 晚了
- 学习用品
- 学习
- 离开
- 遗产
- 减
- 喜欢
- 志同道合
- 文学
- 地点
- 长
- 看
- 机械
- 杂志
- 主要
- 维持
- 制作
- 许多
- 主
- 事项
- 最大宽度
- 可能..
- 与此同时
- 镜面
- 现代
- 更多
- 大多
- 许多
- 博物馆
- 姓名
- 命名
- 本地人
- 自然
- 全新
- 新人
- 下页
- 没有
- 注意到
- 数
- 对象
- of
- on
- 一
- 仅由
- 操作
- 操作系统
- or
- OS
- 其他名称
- 输出
- 学校以外
- 超过
- 己
- 牛津
- 配对
- 各方
- 通过
- 过去
- 也许
- 允许
- 博士学位
- 照片
- 开拓者
- 占位符
- 平台
- 柏拉图
- 柏拉图数据智能
- 柏拉图数据
- 热门
- 存在
- 罐头
- 大概
- 处理器
- 教授
- 曲目
- 代码编程
- 编程语言
- 进展
- 项目
- 财产
- 提案
- 提供
- 认沽期权
- 魁北克
- 提高
- 范围
- 快
- 宁
- 真
- 收到
- 简称
- 被拒绝..
- 发布
- 记住
- 知识库
- 研究
- 右
- 风险
- ROBERT
- 根
- 运行
- 运行
- 锯
- 对工资盗窃
- 学区情况
- 科学
- 看到
- 似乎
- 集
- 形
- 简易
- 自
- 慢慢地
- 小
- So
- 软件
- 一些
- 有些
- 苏联
- 花费
- 斯坦福
- 斯坦福大学
- 开始
- 州/领地
- 州
- 仍
- 结构
- 学生
- 提交
- 提交
- 这样
- 瑞士
- 系统
- 教诲
- 比
- 这
- 信息
- 景观
- 国家
- 世界
- 其
- 他们
- 然后
- 那里。
- 博曼
- 他们
- 认为
- Free Introduction
- 始终
- 次
- 至
- 今晚
- 今天的
- 一起
- 工具
- 工具
- 最佳
- 追踪
- 真正
- 试图
- 教程
- 最终
- 底层
- 工会
- 大学合作伙伴
- 大学
- 美国加州大学
- 不会
- 直到
- 上
- 网址
- us
- 使用
- 用过的
- 用户
- 用户界面
- 折扣值
- 版本
- 垂直
- 非常
- 体积
- W
- 是
- 方法..
- we
- 网站
- 井
- 知名
- 为
- 什么是
- ,尤其是
- 是否
- 这
- 而
- WHO
- 维基百科上的数据
- 将
- 祝愿
- 工作
- 工作
- 工作站
- 世界
- 价值
- 将
- 书面
- X
- 年
- 和风网
- 缩放
- 苏黎世