现代编程语言最有趣的 10 大特性

Ten interesting features from various modern languages

阅读时间大概 2 分钟

如今大多数“现代”语言都依然使用老旧的 C-style 语法。

我们看一下编程语言的年代:Lisp (1958)、Smalltalk (1972)、Objective-C (1984)、Haskell (1990)、OCaml (1996)、等等。这些都是上个世纪的语言了。

本文作者选择了几个最新的语言:Reason、Swift、Kotlin、Dart 作为研究对象,总结了 10 个特性:

1 管道操作符 Pipeline operator

Reason 语法

对应的 JavaScript 写法:

而 es 也已经有了对应的提案:tc39/proposal-pipeline-operator

2 模式匹配 Pattern matching

Kotlin 语法

3 Reactive (Rx) programming build in the language

Dart 语法

4 lambda 函数的默认参数

Kotlin 语法(使用 作为默认参数)

对比 JavaScript

5 解构 Destructuring

Reason 语法:

Kotlin 语法

es6 已经有了数组解构,es8 增加了对象解构

6 操作符级联 Cascade operator

Dart 语法

对应的 JavaScript 写法

如果使用 jQuery 基本在写法上就和 dart 一致了,但是两者有本质的不同

7 if 表达式 If expressions

Kotlin 语法

对于 if 表达式有人喜欢,有人讨厌,有人觉得无所谓;我是非常喜欢的,我之前在知乎有个回答:https://www.zhihu.com/question/55866176/answer/149009695

8 Try expressions

Kotlin 语法

9 自动科里化 Automatic currying

Reason 语法:

10 方法扩展 Method extensions

Swift 语法:

JavaScript 可以在原型上扩展。

我觉得还有要给非常有用的特性,optional-chaining。之所以没有提到,是因为大多数语言都已经有这个特性了吧,看来 JavaScript 还是发展太慢啊。。。

  • 发表于:
  • 原文链接http://kuaibao.qq.com/s/20180206B01DK600?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 yunjia_community@tencent.com 删除。

扫码关注云+社区

领取腾讯云代金券