您好,欢迎来到12图资源库!分享精神,快乐你我!我们只是素材的搬运工!!
  • 首 页
  • 当前位置:首页 > 开发 > WEB开发 >
    编程言语之父谈言语设计,龟叔大赞TypeScript
    时间:2019-04-26 12:09 来源:网络整理 作者:网络 浏览:收藏 挑错 推荐 打印

    争论哪门编程言语孰优孰劣,长期以来都是顺序员乐此不疲的“文娱活动”。之所以说是文娱活动,由于这些争论到最后往往只是各自在发泄心情,再则就是,脱离运用场景去讨论所谓哪门言语更好并没意义。

    但假设让编程言语作者坐在一同讨论编程言语会产生怎样的反响,水平能否会比我们高到不知哪里去?

    本月初由西雅图 Python 开发者举行的首届年度慈善活动(Puget Sound Programming Python, PuPPy)约请到了 Java, Python, TypeScript 和 Perl 开创人共同讨论编程言语设计的过去和未来。

    PuPPy 活动旨在为 Computer Science for All (CSforALL) 筹集资金,该组织努力于使计算机课程成为教育中不可或缺的一部分。

    参与本次讨论的嘉宾为四位编程言语开创人,辨别是:

    Guido van Rossum,Python 作者

    James Gosling,Java 作者和首席设计师

    Anders Hejlsberg,Turbo Pascal 编译器的主要作者,Delphi、C# 和 TypeScript 开发者

    Larry Wall,Perl 作者

    编程言语之父谈言语设计,龟叔大赞TypeScript

    活动中这四位编程言语之父的议论主题包括设计编程言语的主要准绳、编程言语的类型系统、编程言语的可维护性和编程言语设计的未来。

    下面不妨看看这些开山鼻祖级别的大牛,对编程言语设计有怎样的看法。

    设计编程言语的主要准绳

    在讨论这个话题时,Python 之父 Guido van Rossum 以为,设计编程言语与 JK罗琳写《哈利波特》有许多共通之处,罗琳为整部小说打造的架构是天赋的操作,她在第一本书中描写的某些细节在第六和第七本中成了重要的情节。这和设计编程言语一样 —— 需求关注某些细节,比如关键字和编码作风。但无论决议什么都必须保证在未来找到运用这些细节的新办法,就像JK罗琳一样。

    Java 作者 James Gosling 被问到 Java 遵守的设计准绳时表示,Java 并不是由团体热情驱动的项目,最后只是方案构建一个原型(事先 Gosling 和他的团队正在停止一个触及嵌入式系统范围的项目,Gosling 担任从编程言语的角度来简化任务),一末尾只是希望要做得比 C 言语更好,但是后来失控了,项目的其它部分变成了某种背景,最终只留下 Java。它基本上是为了协助开发者处置关于数据的成绩,这些成绩往往是因较差的网络、安全性和牢靠性而招致。

    Perl 作者 Larry Wall 称本人是“言语学家”而不是计算机迷信家,他希望发明出相似自然言语的言语。对此,Larry Wall 举了一个例子停止解释,与其让人们进入大学校园去决议他们走向何处,倒不如经过察看他们想走的路,然后在这些中央铺设捷径。Perl 的基本设计准绳是为一切事物都提供 API,目的是成为出色的文本处置言语,同时也是胶水言语。

    Anders Hejlsberg 表示他参与开发编程言语的进程中都会遵守一个准绳:「一个办法只做一件事」。Hejlsberg 以为过多的办法很能够会招致悬崖勒马,并在开发前期才会看法到成绩。与 Guido 的观念相似,Hejlsberg 也以为在设计编程言语时,所做的任何决议都必须停止全局思索,与之共存的理念理应贯串整个开发进程。

    编程言语的类型系统

    Java 之父 Gosling 表示在打造 Java 的雏形时就已重点关注功用成绩,而提高功用的一个关键要素就是类型系统,这对构建优化编译器和提早停止正确性反省等成绩十分有用。

    Hejlsberg 将类型系统视为“工具性”的功用,开发者喜欢 IDE 提供的代码补全、重构和代码导航这些功用,而这背后都离不开具有类型系统的编译器。Hejlsberg 也不以为编程言语添加了类型系统就能提升开发者的消费力,他觉得开发者运用静态言语,然后以非侵入性方式来添加类型特性反而能提高开发效率。

    编程言语的可维护性

    Guido 以为,假设希望编程言语具有可维护性,在灵敏和标准的办法之间保持平衡十分重要。静态言语关于开发小型项目十分有用,但大型项目需求采用严厉的类型反省,因此假设编程言语本身可以完成这种平衡就最好不过了。这就是为什么 Guido 方案在 Python 中添加相似 TypeScript 的技术。

    除了类型系统,重构引擎对编程言语的可维护性也至关重要,经过它可以更容易地同时执行数百万行代码的大规模重构。Hejlsberg 表示 TypeScript 的来源正是日益庞大的 JavaScript 代码库,代码库越大,维护它们就变得越加困难,这些代码逐渐成了 “write-only code”。为了易于重构,需求对代码停止语义了解,而这些语义了解的任务恰恰需求一个类型系统。

    编程言语设计的未来

    当被问及编程设计的未来时,James Gosling 分享了一个尚未充沛探求的范围 —— 为 GPU 编写代码。他特别指出目前尚没有任何编程言语可以像 GPU 那样任务,而在该范围有很大的开展空间。

    TypeScript 中心开发者 Anders Hejlsberg 表示,编程言语的开展速度不会像硬件或其他技术一样快,在演进方面,编程言语更像是数学和大脑。由于直到明天,我们还在用 50 年前发明的言语在编程,而函数式编程的准绳简直也都是在 50 年前提出的。另外,Hejlsberg 也以为不能将复杂地把言语分为面向对象或函数式编程这样的独自类别,由于现代编程言语正逐渐成为多范式编程言语。

    【编辑引荐】

    Python机器学习资源菜单,选库找工具不愁,GitHub精选列表都齐了

    阿里巴巴的26款超神Java开源项目!

    谷歌助力,快速完成 Java 运用容器化

    微软推出新编程言语 Bosque,超越结构化顺序设计

    DeBug Python代码全靠print函数?换用这个一天2K+Star的工具吧

    (责任编辑:admin)