红帽白皮书新鲜出炉!点击获取,让你的云战略更胜一筹! 了解详情
写点什么

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

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

关注

评论

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

RocketMQ 顺序消费机制

Java你猿哥

Java RocketMQ 获取 topic等信息 ssm

MySQL踩坑笔记,加了唯一索引还会出现重复数据?

Java你猿哥

Java MySQL sql ssm 索引

Cornerstone永久激活版 SVN管理工具Mac版

魔仙苹果mac堡

mac软件下载 SVN管理工具 cornerstone 4 破解版 cornerstone 4许可 cornerstone 4下载

万众瞩目的Nautilus Chain即将上线主网,生态正式起航

鳄鱼视界

简洁高效:Java代码中If-Else结构的优化实践与技巧

xfgg

Java 代码优化

你了解LED显示屏的安装方式吗?

Dylan

安装 LED LED显示屏

mac专业矢量绘图设计Sketchv96.3中文激活版

魔仙苹果mac堡

Sketch中文版 Sketch最新版 Sketch破解 Mac矢量图设计

史上最全MySQL各种锁详解

Java你猿哥

MySQL 乐观锁 悲观锁 事务/行级锁

软件测试 | JMeter函数和变量

测吧(北京)科技有限公司

测试

完美!啃透P9大佬这份完整版的《并发编程宝典》,成为Offer收割机

做梦都在改BUG

Java 并发编程 高并发

软件测试/测试开发丨Web自动化 option 常用操作headless无头浏览器

测试人

程序员 软件测试 自动化测试 测试开发

软件测试 | 测试贯穿整个项目流程

测吧(北京)科技有限公司

测试

Python实现KNN算法

TiAmo

算法 决策 KNN算法

基于Spring Boot+VUE Java小程序商城项目(附源码),接私活利器

Java你猿哥

Java 小程序 源码 Spring Boot Vue

StampedLock:高并发场景下一种比读写锁更快的锁

华为云开发者联盟

开发 华为云 华为云开发者联盟 企业号 5 月 PK 榜

CleanMyMac闪退怎么办?解决CleanMyMac X闪退

魔仙苹果mac堡

mac系统清理优化软件 CleanMyMac下载 CleanMyMac闪退 CleanMyMac最新版

软件测试 | 应用程序签名机制实现的源代码分析

测吧(北京)科技有限公司

测试

软件测试中的维恩图详解

测吧(北京)科技有限公司

测试

软件测试 |JMeter怎样引用函数和变量

测吧(北京)科技有限公司

测试

破防了!阿里大佬DDD(领域驱动设计)不破不立,GitHub直接霸榜

Java你猿哥

Java 领域驱动设计 DDD ssm 领域驱动

2023年互联网Java工程师高级面试八股文汇总(1260道题目附解析)

Java你猿哥

MySQL redis Spring Boot mybatis 多线程

科兴未来|深圳创新创业大赛开始啦!

科兴未来News

企业 深圳 #双创赛事# 新能源行业 深创赛

Mac电脑Photoshop 2023 Beta版完美解锁!打字生成图像,Ai绘图功能版!

魔仙苹果mac堡

Ps最新版下载 Photoshop2023破解 Ai绘图

已膜拜,GitHub大佬的微服务资源库太强了,每份学习手册都优质详细

做梦都在改BUG

Java Kubernetes 微服务 Spring Cloud Spring Boot

DMG镜像制作软件:DMG Canvas 激活版

真大的脸盆

Mac Mac 软件 镜像文件制作工具 镜像文件管理

从2000ms缩短到50ms,亿级ES数据搜索性能调优实践

Java你猿哥

Java elasticsearch ELK ssm ES

OpenHarmony 3.2 Release新特性解读之驱动HCS

OpenHarmony开发者

OpenHarmony

软件测试 | 软件开发的几个阶段

测吧(北京)科技有限公司

测试

揭秘!为何阿里P8亲身经历撰写的架构师核心笔记竟如此成功

Java你猿哥

Java 领域驱动设计 软件架构 架构师 分布式架构

基于数据驱动 U-Net 模型的大气污染物扩散快速预测,提升计算速度近6000倍

飞桨PaddlePaddle

人工智能 深度学习 百度飞桨

ClickHouse进阶|如何自研一款企业级高性能网关组件?

字节跳动数据平台

数据库 字节跳动 Clickhouse 企业网关

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