大卫·安德森在2014年5月发表的《汤姆·基尔本:五台计算机的故事》一书中介绍了曼彻斯特大学建造的开创性计算机,这篇文章引人入胜,信息量大,但任何一篇关于英国计算机史的文章都无法避免曼彻斯特大学和剑桥大学之间的优先争议。例如,剑桥大学的倡导者会为EDSAC计算机和它的许多成就,包括从1949年开始为科学界服务的近10年。但“曼彻斯特宝贝”在10个多月前就已经投入使用了。正是本着这种精神,我们应该审视安德森的话:“从1963年开始,(基尔本)花了几年时间建立并组织了一个新的计算机科学系,这是英国的第一个。”这并不是对曼彻斯特优秀的计算机科学学院的批评,问“第一”这个词在这里做什么?(让我们忽略“同类的”限定词,它保证了几乎任何事物的唯一性。)剑桥系已经存在了27年。剑桥中央政府公布了关于建立计算机实验室的报告1936年,为了给科学提供计算服务,同时也进行计算技术的研究。最初叫做数学实验室,它开发了EDSAC和其他计算机,在1951年教Edsger W. Dijkstra编程,并在1953年建立了世界上第一个计算机课程(硕士水平)。另一点需要注意的是:许多人认为计算的发展是受战争的需求驱动的,但数学实验室(现在称为计算机实验室)从一开始就是为了满足科学的需要而创建的。
劳伦斯·c·保尔森,英国剑桥
编程语言不是用户界面,而是专家专用的工具,就像命令行,但不是Mark Guzdial在他的博客“教授编程语言的困难,和实践学习的好处”(2014年7月)中概述的语言作为界面的概念,这是对Andy Ko早期博客的回应。将一门语言视为用户界面反映了对该语言的错误理解。如何学习一门编程语言取决于程序员是否拥有该语言、底层机器的精确模型,以及程序员试图实现的目标。
我喜欢Arno Wagner的信“编程语言不是用户界面”。它似乎是从这样的观点写的:如果你想学习编写更好的程序,你需要学习用更好的编程语言编写。我同意但不同意。
将近40年前,作为《帕斯卡尔新闻》(Pascal News)工具版的编辑和利哈伊大学(Lehigh University)的一名教师,我也遇到过同样的问题。一般语义学家很有说服力地认为语言影响思维。我想支持好的算法思维。要想写出更好的程序,我的结论是首先要阅读好的程序。
我相信《帕斯卡尔新闻》是最早展示篇幅长、写得好、编辑得好、编排得好的节目的出版物之一。克努斯后来用他的《教科书》做到了这一点。
也许要提高程序的写作能力就要从提高程序的阅读能力开始。在我看来,阅读用可读的编程语言编写的良好程序是学习良好编程技能最容易的方法。
显示1评论