位置:编程技术网 > 产品设计 > 正文 >

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

2021年09月21日 21:39来源:网络搜索手机版

古宅魂迷,中长二手房,bin文件是什么

编者按:近日,英国科技网站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++有关。她说,“程序开发不再是用机器语言完成的。这是一个很大的进步。只是提高了抽象的层次,模块化的原则就已经被很好地理解了。"

本文地址:http://www.reviewcode.cn/chanpinsheji/241169.html 转载请注明出处!

今日热点资讯