【ArchSummit架构师峰会】探讨数据与人工智能相互驱动的关系>>> 了解详情
写点什么

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:258537
用户头像

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

关注

评论

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

一文带你深入理解K8s-Pod的意义和原理

华为云开发者联盟

云原生 华为云 华为云开发者联盟

一篇了解springboot3请求参数种类及接口测试

快乐非自愿限量之名

springboot 开发语言

超详细Redis入门教程—Redis分布式系统详解

百度搜索:蓝易云

redis 云计算 Linux 运维 云服务器

Perforce:2024年改变数字化格局的五大技术趋势

龙智—DevSecOps解决方案

人工智能 AI

广发证券基于 Apache Kyuubi 构建“提效可控”大数据赋能层

网易数帆

大数据 spark 开源 Kyuubi 广发证券

DevSecOps研讨会: 2023年DevOps有哪些值得关注的发展与挑战

龙智—DevSecOps解决方案

DevSecOps

一呼百应API实时获取商品详情的实现

Noah

ATL:用对方法招对人,智能招聘降低人工成本

用友BIP

智能招聘

洞悉代币资金流,助力 GameFi 项目运营决策

Footprint Analytics

gamefi #区块链

使用Python的数据可视化库Matplotlib实现折线图教程。

百度搜索:蓝易云

Python Linux 运维 云服务器 matplotlib

网站托管革新:云服务器如何改变游戏规则?

一只扑棱蛾子

云服务器

2023年度华为云优秀开发者榜单揭晓,来看看你榜上有名吗?

华为云开发者联盟

程序员 开发者 华为云 华为云开发者联盟

使用ETLCloud平台实现实时数据集成

RestCloud

ETL 实时数据集成

京东商品详情数据接口(JD.item_get)丨京东API接口

tbapi

京东商品详情数据接口 京东API接口 京东商品数据接口 京东商品详情API接口

1688商品评论数据接口(1688.item_review)

tbapi

1688商品评论接口 1688商品评价接口 1688商品评论API 1688评价接口 1688评论API接口

Tiamat携手火山引擎,让创作者的想象成为现实

火山引擎边缘云

边缘计算 火山引擎边缘计算 AIGC 边缘计算平台

AI赋能游戏开发,如何更好地处理随之而来的海量数据,更好地利用开发游戏?

龙智—DevSecOps解决方案

人工智能 AI 游戏

小程序如何帮助在线教育打通公私域

Geek_2305a8

强大的数据同步备份:DropSync 3 激活最新版

mac大玩家j

Mac软件 备份同步工具 Mac同步软件

MISRA C++:2023已发布,一起来了解下C++发展史及使用技巧

龙智—DevSecOps解决方案

MISRA C++:2023 MISRA

护航千行百业高质量发展,天翼云加速构建稳定性保障能力体系!

天翼云开发者社区

云计算 安全 云服务

云数据库的云端故障排除策略:关键技术与实施方案

天翼云开发者社区

云计算 故障 云数据库

什么是DePIN?DePIN有哪些优势?DePINDepin的风险与挑战?

TechubNews

司库管理体系构建与价值创造

用友BIP

2024程序员必看前端行业分析

伤感汤姆布利柏

随着教育行业内卷突围,保持激活平台用户体验是关键

Geek_2305a8

你是否想知道如何应对高并发?Go语言为你提供了答案!

EquatorCoco

高并发 Go 语言 程序开发

如何理解 RPC 与 Protobuf

Liam

gRPC 后端 网络协议 protobuf roc

​如何在iPhone设备中查看崩溃日志

YOLO+SlowFast+DeepSORT 简单实现视频行为识别

北桥苏

Python

济宁能源:推动一体两翼战略,以资产数智化管理培育千亿产业

用友BIP

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