TypeScript与Haxe:两种截然不同的JS转译工具横向对比

转自:TypeScript与Haxe:两种截然不同的JS转译工具横向对比

JavaScript无疑是当今最火爆的编程语言之一,它的崛起要归功于AJAX、Node.js的出现以及时下各种MVC框架的流行。但作为一门在十天之内创建出来的语言,JS本身存在着一些不完善之处、以及容易令人疑惑的地方,例如不支持强类型以及new关键字的用法。尤其与当前主流的面向对象语言以及动态语言相比,其不足之处显得尤为突出。

为了克服JS语言中的缺陷,让更多的人能够编写出优秀的代码,市面上出现了大量能够将其它编程语言转译为JS的工具。其中较知名的有CoffeeScript、Dart、GWT、Script#,以及本文的主角TypeScript与Haxe。

TypeScript是这一领域中的新贵,由微软于2012年发布。近期发布到1.5版,加入了大量ES6的特性。TypeScript被设计为JS的一个超集,因此现有的JS都是合法的TypeScript代码。这门语言也得到了Angular团队以及Telerik的支持。

作为这一领域中的老前辈,Haxe从2006年起就提供了转译为JS的功能。与TypeScript类似,Haxe也提供了一套类似于JS的语法、静态类型系统以及模块。除了JS之外,Haxe还能够提供编译为Flash、PHP、C++等语言的功能。

来自Haxe的员工Andy Li最近在博客中对TypeScript与Haxe进行了一次全面的比较,包括语法、底层语义、类型系统、以及组织和生成代码的方式。为开发者如何在这两种工具间进行选择提供了一个不错的参考。

在文章的最后,Andy对他的观点进行了一番总结。他认为这两门语言具有一定的相似性,但在设计思想上有许多不同之处。TypeScript总体更接近原生的JS,对于JS开发者来说更容易上手。而非JS开发者或许会喜欢Haxe,它更接近于现代的静态语言,同时引入了许多函数式编程的概念,进一步加强了它的语法特性。

Andy个人更偏向于使用Haxe,除了因为他本身就是Haxe Foundation的一员之外,还因为Haxe能够提供编译为其它语言的功能,而这一点是TypeScript所不具备的,因为后者设计时就是为了编译为JS这个目的而生。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值