图灵奖得主Barbara Liskov:为什么编程仍然很重要

  • 2021 年 9 月 22 日
  • AI

编者按:近日,英国科技网站The Register对麻省理工学院教授Barbara Liskov进行了采访。Barbara于2009年因其对编程语言和系统设计的贡献而获得图灵奖,在本次采访中,Barbara总结回顾了其在70年代创建CLU编程语言早期工作,并发表了一些关于CLU编程语言的最新见解。

在即将开幕的CNCC2021(中国计算机大会)上,Barbara也将作为特邀嘉宾发表演讲,为帮助参会者更好了解Barbara的最新研究及对编程理念的思考,AI科技评论特此对The Register的文章进行了编译。

编译 | 吴彤

自从Barbara Liskov因其对编程语言和系统设计的贡献而获得图灵奖已经有12年了,最近,她又发表了一些关于CLU编程语言的最新见解:为什么编程仍然很酷?

现年80多岁的Liskov, 正领导着麻省理工学院的编程方法论小组。最近,她一直在研究并行计算。

在90年代时她曾与一名学生一起开发了拜占庭容错系统(Byzantine Fault Tolerance),如今她表示,这对充满区块链的世界来说意义重大。

近年来,随着CLU在GitHub上的出现,人们的注意力转向了Liskov师徒在20世纪70年代初创造的这门语言时的早期工作。今天,我们详细谈谈为什么直到今天,编程仍然很重要。


1

传统的编程并不溯源 error,也没有泛型

当初CLU起步时,整个编程语言的状态太差,许多东西需要创新。

例如,我们不得不正视泛型的问题。在抽象数据类型的概念出现之前,实际上已经需要泛型了。如果你写一个排序例程,并不希望更替不同类型的数组时都要重写。

然后是异常处理。Liskov回忆起关于恢复模型与替代方案的争论:“问题是,在引发异常之后,控制权是否随后恢复到引发异常的代码,还是只是结束了该代码?”

如果没有一种方法从主流中分离单个异常情况,那么经常出现在远离错误源的bug就越难追踪。不幸的是,今天这种情况仍然会发生,还需要你一个一个debug。

数据抽象是一件大事,所有其他东西也都是随之而来的。Liskov说到。“如果你回顾一下 90 年代 Java 发生的事情,他们想使用采用参数多态的方式,但他们没有做,也从来想过优化异常处理”。


2

发明新的计算机语言
Liskov 感知现代编程语言的缺乏基础,无法支撑起整个现代应用软件行业,因此将目光放在了CLU的研究上,并带领学生一起投入其中。

然而,到了20世纪70年代末,科研道路出现了岔路口: 要么尝试将这门语言商业化,要么坚持研究。Liskov选择了研究,“在我的小组里,没有一个学生想要创业。”

直到现在,Liskov 还一直赞扬她的学生 Russ Atkinson、Alan Snyder 和 Craig Schaffert 以及Stephen Zilles。后者也在麻省理工学院,并于 1973 年与她一起改进 CLU 基础概念。Bob Scheifler, Eliot Moss和Toby Bloom也出现在1979年10月的CLU参考手册上。

她指出,现在发生的事情别无二致。现如今把东西放到网上,并建立一个智囊社区是一个相对简单的过程。但是在70年代,你必须挂靠一家公司,但即便如此,也很难获得启动资金。直到90年代初,情况才有好转。

话说回来,CLU的本质是它没有全盘接受多年来困扰其他语言的糟粕。Liskov说 ,一门语言一旦运行,它就开始衍生遗留问题,致使你必须继续支持所有已经编写的代码。这就产生了负担。”

在过去的20年里,Liskov参与的大部分开发工作都与C++有关。她说,程序开发不再是用机器语言完成的。这是一个很大的进步。只是提高了抽象的层次,模块化的原则就已经被很好地理解了。”

然而,直到今天,Liskov一直希望改变的事情是:语言被强制执行封装。但是当大家在构建一些低级平台时,又必须违反封装。Liskov认为封装是编程方法的关键工作–模块化,即将数据和处理数据的方法捆绑到单个单元中,并将对数据内部的访问限制在这些方法中。这与让编译器强制执行是两码事。

不过,其他方面也有所改善。与 1970 年代可用的存储能力相比,今天的巨大存储能力意味着在设计模块时,“紧凑性”可以让“优雅”退居二线。我们总是希望它可用,但尽可能简单。


3

结语

Liskov现在仍对编程和技术充满热情,她说:编程和软件工程仍然是一个令人兴奋的职业。我认为要牢记接口和实现之间的区别,让行为与实现分开定义。

“如果你没有使用强制封装的语言(不幸的是,大多数语言都强制封装),那么你就必须自己强制封装,这有助于维持区块链系统完整性,广义地说,超类的对象应该可以被子类的对象替换而不破坏应用程序。”

编译来源:
//www.theregister.com/2021/09/16/barbara_liskov_interview/

10月28-30日,深圳,来CNCC2021会场,亲耳聆听专家们的精彩报告,将带给你无与伦比的专业享受!

CNCC2021将于10月28-30日在深圳举行,今年大会主题是“计算赋能加速数字化转型”。CNCC是计算领域学术界、产业界、教育界的年度盛会,宏观探讨技术发展趋势,今年预计参会人数将达到万人。每年特邀报告的座上嘉宾汇聚了院士、图领奖得主、国内外名校学者、名企领军人物、各领域极具影响力的业内专家,豪华的嘉宾阵容凸显着CNCC的顶级行业水准及业内影响力。

今年的特邀嘉宾包括ACM图灵奖获得者John Hopcroft教授和Barbara Liskov教授,南加州大学计算机科学系和空间研究所Yolanda Gil教授,陈维江、冯登国、郭光灿、孙凝晖、王怀民等多位院士,及众多深具业内影响力的专家。今年的技术论坛多达111个,无论从数量、质量还是覆盖,都开创了历史之最,将为参会者带来学术、技术、产业、教育、科普等方面的全方位体验。大会期间还将首次举办“会员之夜”大型主题狂欢活动,让参会者畅快交流。

CNCC2021将汇聚国内外顶级专业力量、专家资源,为逾万名参会者呈上一场精彩宏大的专业盛宴。别缺席,等你来,欢迎参会报名!

CNCC2021参会报名

雷锋网雷锋网雷锋网