NVIDIA 初创加速计划,免费加速您的创业启动 了解详情
写点什么

Delphi、C#之父 Anders Hejlsberg 首次访华 推广 TypeScript

  • 2015-11-03
  • 本文字数:2508 字

    阅读完需:约 8 分钟

Delphi、C#之父 Anders Hejlsberg 近日首次访华,并在 10 月 24 日和 27 日参加了两场见面会,分享了他目前领导开发的 TypeScript 项目,并与国内前端开发者近距离交流。InfoQ 记者全程参与了两场见面会以及会后的采访,本文就为读者描述一下近距离接触大师的印象,以及 Anders 对 TypeScript 的设计理念和想法。

Anders Hejlsberg(安德斯·海尔斯伯格)于 1960 年出生于丹麦,在 Borland 公司开发出 Turbo Pascal 和 Delphi 之后加入微软,主持微软下一代开发工具的研发。他为微软开发和设计出 Visual J++、.NET 平台以及 C#语言,可以说他开发出的软件和语言影响全世界整整一代程序员。目前,他是 C#语言的首席架构师和 TypeScript 的核心开发者与 TypeScript 开源项目的重要领导人。

Anders 印象

Anders 现年 55 岁,在软件开发的道路上已经走过 30 余年,但仍然对工作充满热情。他性格和善而风趣,同时,还是个纯粹的程序员,每天仍然有很多时间花在编程上。 虽然相处时间不长,但大家纷纷围着他舍不得分开,这是一位让人愿意亲近的长者、前辈和大师。笔者将他的印象总结为三点:终身编程、开源信徒、语言大师。

终身编程

Anders 现在每天仍然花大量的时间实际写代码,并且未来会一直写下去。他很清醒的知道自己长处:“相比起管理,我还是更擅长于编程。”

事实上,Anders 的成名之作 Turbo Pascal 通过出售软件授权就让他获得了大量财富,之后微软高薪聘请更让他衣食无忧,Anders 不仅仅是可以转管理——只要他开口,微软有很多的职位在等着他——他甚至可以什么都不用做,但他仍然坚持编程,因为这是他的兴趣和激情所在。

对于他如何能达到现在的成就,他表示,10000 小时定律和兴趣是很重要的因素,编程是一项需要时间来掌握的技能,Anders 说,他回忆一下,的确是花了这么长时间才真正掌握编程,而另一方面,兴趣也是非常重要的,如果有两个工作,一个给的多些,另一个给的少些,但是是你感兴趣的事业,Anders 建议选感兴趣的那个。

国内有不少资深程序员在工作一段时间之后都转了管理,但仍对编程难以忘怀,了解 Anders 的生平和想法,想必会有所启发。

开源信徒

Anders 对开源精神的认同和身体力行让人惊讶,他现在在 Github 上每天要提交十多次代码,很难想象他来自微软,当然,微软现在其实也在拥抱开源,并且这其中也有 Anders 的努力。

微软自 Satya Nadella(萨提亚·纳德拉)担任 CEO 后,开始融入社区,向开发者示好,其中的重要举措就是开源,Anders 是其背后的推动力量之一。不仅他之前参与的.NET 核心引擎 CoreCLR 开源,现在的 TypeScript 也彻底是由社区主导的开源项目,微软并不干涉 TypeScript 的发展方向,所有决策都由社区得出。

在 Anders 的分享里,他总结微软现在的开源战略:

  • 新开发项目首选开源
  • 创立.NET 基金会管理开源项目
  • 开源 + 开放开发,使用并依赖 Github
  • 跨平台开发工具,典型的如 Visual Studio Code

Anders 认为开源是软件开发的趋势,现在如果你的软件不是开源的,开发者可能更愿意选择别的开源的解决方案。

语言大师

Anders 在语言设计、开发工具、编译器等诸多领域都有非常深厚的功底,这为他设计出 C#语言打下了基础,C#语言被公认为设计非常优秀的语言,作为它的创造者,Anders 毫无疑问是一位语言设计的大师。在现场他分享了一些对编程语言的看法:

  • 极简:Anders 喜欢简单(simplicity),除非必要,否则不添加语言特性,一个好的语言特性是它必须的最小集。
  • 设计存活时间更长的语言:有些编程语言随着时间流逝不再流行,但有些语言如 C 语言,几十年过去了仍然被很多人使用,语言与趋势(如移动互联网、物联网)无关,语言设计者的目标是设计存活更长时间的语言。
  • 困难即美味:记者问到 Anders 对 JavaScript 语言的看法,他认为 JavaScript 在设计上有诸多问题,但仍然有其优点,更重要的 是,用户很多,并且难以被替代。至于 Anders 为何会选择修补 JavaScript,他认为这对他是一项挑战,以前没有人做过,解决这一问题对他就像美味一般。

TypeScript:大 JS 生态圈的一环

TypeScript 最近发布了 1.6 版本,它在社区里的接受度也越来越高,比如有人从CoffeeScript 迁移到TypeScript ,也有人认为它比Facebook 的Flow 更好。这一切都要归功于Anders 为TypeScript 带来的优秀设计。

Anders 分享道,其实 TypeScript 做的并不多。它的两大特性,第一个给 JavaScript 加上可选的类型系统,Anders 表示,很多事情是只有静态类 型才能做的,给 JavaScript 加上静态类型后,就能将调试从运行期提前到编码期,诸如类型检查、越界检查这样的功能才能真正发挥作用。在 Anders 现场的演示可以看到,TypeScript 的开发体验的确远远超过以往纯 JavaScript 的开发体验,无需运行程序即可修复潜在 bug。

另一个特性是支持未来的 ES 6 甚至 ES 7,最近的更新都与此有关。在 TypeScript 中,你可以直接使用 ES 6 的最新特性,在编译时它会自动编译到 ES 3 或 ES 5,这个功能和最近流行的 Babel 类似,事实上,Anders 认为 TypeScript 的竞争对手并非 Dart、CoffeeScript 这类语言,而 是 Babel,不过 TypeScript 的类型系统是 Babel 无法做到的,Babel 也仅是一个编译工具,无法提供更好的开发体验。

在问到对 TypeScript 将来的规划时,Anders 显得很克制。TypeScript 不追求替代 JavaScript,没有计划直接运行在浏览器、系统里,它仅仅关注在编译到 JavaScript 之前的事情,编译之后的事情,诸如 JavaScript 性能调优等等,并不关心。

Anders 表示,TypeScript 最大的目的是让程序员更具创造性,提高生产力,它将极大的增强 JavaScript 编写应用的开发和调试环节,让 JavaScript 能够方便用于编写大型应用,进行多人协作。

这种定位让 TypeScript 能更轻松的被 JS 程序员所接受,除了上面提到社区的反应,最知名的还要数 Google 采用 TypeScript 来开发其 Angular 2 框架,Google 和微软甚至为此第一次联合召开发布会。在国内,也有 HTML5 游戏引擎 Egret 使用 TypeScript 进行开发。由此可见,TypeScript 已经足够可用,甚至进入大公司的生产环境。

当然,最后让人推荐 TypeScript 的原因,还有 Anders 本身,有如此大牛带领,相信这门语言正走在正确的道路上,它的未来不可限量。

2015-11-03 03:258541
用户头像

发布了 164 篇内容, 共 103.5 次阅读, 收获喜欢 391 次。

关注

评论

发布
暂无评论
发现更多内容

C++实现对RGB图片进行编码

智趣匠

什么是KubeEdge?

谐云

kuberedge kurbernetes

传统网络环境应付不了企业发展需求,华为云下载加速解决方案体验如何?

YG科技

腾讯社交广告全国招募合伙人 无区域行业限制 终身售后

互联网广告践行者

WebAssembly:让Istio变得更强大

谐云

istio WebAssenbly

红队攻防之快速打点

权说安全

网络攻防

“科创中国”大湾区青年百人会论坛成功举办

飞桨PaddlePaddle

人工智能 百度 paddle 百度飞桨

IoTLink版本更新V1.34.0

山东云则信息科技

Java Vue 后端 物联网 前段

基于多尺度图神经网络的流场预测,实现精度与速度的平衡

飞桨PaddlePaddle

人工智能 百度 paddle 飞桨 百度飞桨

业财一体,精细管控丨华为云SparkPack助力成长型企业数字化转型

YG科技

浅谈kubernetes存储—glusterfs故障排查

谐云

kuberedge

边阅读,边成长

少油少糖八分饱

阅读 每天读本书 书评

开心档之C++ 模板

雪奈椰子

AI、机器学习、大模型、生成式AI和安全

啸天

人工智能 机器学习 安全 大模型 ChatGPT

MySQL笔记之Checkpoint机制

互联网工科生

MySQL 高可用 CheckPoint

从低谷逆转,数字化转型企业可以信任华为云SparkPack

YG科技

什么是WebAssembly及其必要性

谐云

WebAssenbly

代码随想录训练营Day03- 链表(上)

jjn0703

代码随想录训练营Day04 - 链表(下)

jjn0703

一文讲透 Redis 事务 (事务模式 VS Lua 脚本)

高端章鱼哥

lua redis vs

2023-07-02:给定一个1~N的排列,每次将相邻两数相加,可以得到新的序列,长度是N-1 再对新的序列,每次将相邻两数相加,可以得到新的序列,长度是N-2 这样下去可以最终只剩一个数字 比如 :

福大大架构师每日一题

Go 福大大架构师每日一题

98位企业技术高管入学百度AICA 大模型带来AI人才三大能力要求

飞桨PaddlePaddle

人工智能 百度 paddle 百度飞桨

ChatGLM2-6B环境搭建

IT蜗壳-Tango

华为云下载加速解决方案:让您的下载更快更稳定

YG科技

落地领域大模型应知必会 (1) :主要微调方法总览

Baihai IDP

人工智能 白海科技 大语言模型 大模型微调 领域大模型

大厂月入3w+,失业焦虑折磨着我

程序员晚枫

程序员 大厂 焦虑

在 Go 中如何实现类似 Python 中的 with 上下文管理器

江湖十年

Go 后端

基于eBPF技术的可观测实践探索

谐云

云原生

福昕软件与国广传媒达成战略合作,共促AI技术创新发展

新消费日报

云原生MYSQL数据库架构分享

谐云

MySQL 云原生

华为云SparkPack:成长型企业的数字化转型利器

YG科技

Delphi、C#之父Anders Hejlsberg首次访华 推广TypeScript_JavaScript_徐川_InfoQ精选文章