日暮途远

日暮途远,涸辙难行;东隅已逝,桑榆非晚

我看 Kotlin - 一颗冉冉升起的“新星”

初识

知道 Kotlin 还是一次偶然,在一次下载它的母公司 Jetbrains 的著名 IDE (Intellij)时,发现网站多了一个 Kotlin 的顶级菜单,随意的点开看了一下,发现是一款基于 JVM 的新的语言,大概看了一下简单的语法与特性便扔在了一边,那一年是2012年,玛雅人的预言并未成真,世界并未毁灭。

 

Hello Again

再一次认真审视 Kotlin 的时候已经是2014年,那时世界依然很美好,全世界都沉浸在里约的热情中,日耳曼战车辗过了全世界。Intellij 也走到了第14个版本,当它跟着世界杯凑热闹地弹出“试试全新的 Kotlin”的广告时,完全出于对 Jetbrains 的尊重和对 Intellij Idea 的无比喜欢,我决定花一段时间去完整的了解并学习一下“全新”的语言(此时,距离它的推广已经过去了5个年头)。

2个月后,我开始向别人推介 Kotlin ,我是 Jetbrains 的脑残粉,它推出的各类 IDE 极大的提高了开发人员的编程效率,我曾极力的在各个部门和团队推广(当然,未收推广费 :-))它们的产品,因为真的,它可以让我们的工作更高效,making the world better 。从那时起,我多了一个向别人推介 Jetbrains 的理由:Kotlin。只是彼时各类新的语言如雨后春笋般一个接一个的推出,scale, ruby, groovy, python, go, erlang 等等……编程语言进入了一个百家争鸣的时代。

 

沉寂

我的推广不尽如人意,在我的宣传下,部门几乎所有的人都认可了 Intellij Idea 对于 Java 编程效率的帮助,开始了 Intellij 的使用,但另一方面,几乎所有的人都认可了 Kotlin ,但是,仅仅只是口头的,或者是出于对我个人的尊重,也或者不好意思直接的拒绝鄙视。总之,并没有人真的在项目中使用,在 Kotlin 上,我似乎成了一个“孤胆英雄”,但英雄也是要吃饭的,商业项目的目标很明确,我也没有精力一个人完成整个项目,用我认可的方式:Kotlin + SpringBoot 。怕也难怪,在这个年头,编程语言实在不是个新鲜产品,每年都会新出来几个,每个的拥护者都认为自己是最合适的(当然,没人敢说自己是最好的)。

于是,我开始转入“地下”,不再全情的去向别人推广,像祥林嫂一样自说自话,而是在自己有空的时候写写小项目玩一下,偶尔小声的写几篇文章记录一下,当别人问起的时候一起讨论一下,仅此而已。

……

 

崛起,Google 你好

再后来,是的,大家应该都知道了:Google前不久的发布会,向全世界宣布并确定了 Kotlin 的一级语系的地位,成为 Android 平台的官方语言之一。

这一天是 2017-5-18,是一个 Kotlin Fans 应该记住的日子,这一年距离它的推出已经过去7年。

于是一夜之间全世界沸腾了,要不怎么说大公司牛呢。也许 Jetbrains 的知名度还不够,也许我的宣传微不足道,但是是金子总会发光,Google 运用它无比巨大的影响力为 Kotlin 作了背书,Kotlin 终于迎来它的第一个辉煌的机会,相信它会在 Google 及所有认可它的 Fans 那里得到最好的善待,并发挥它最大的能量为我们编程界提供新的核动力。


 

推广历史

之前的好多推广都在之前公司内部部门消耗掉了,帖链接几个我最近推广的小文章:

2016-12-02: 或许你可以尝试一下Kotlin 做了一个简单的介绍;

2017-02-20: Year 2017. Week 8 提示 Kotlin in Action 成书出版;

安利时间

最后,还是要推广一下:

  1. 你对 Java8 的推广失望吗?(注:Java8 的特性很好,但官方推广不力,普及不够)

  2. 你厌倦了 Java9 的纷争吗?(注:Java9的发布日期一推再推,而甲骨文公司近日为了延期超过一年的Java 9又杠上IBM与Red Hat,并警告 IBM 将强推模块化 JSR,相关链接:新闻链接

如果你的答案为“是”,那么,赶紧试试“Kotlin”吧,它已经提前给你实现了这些新的功能。它比 Java 更安全,更简洁,同时又比最大的竞争对手 Scale 更简单,更容易上手

学习资源

附一些学习 Kotlin 的资源:

  1. Kotlin 官方文档

  2. Kotlin in Action 中文翻译版

点赞

发表评论

电子邮件地址不会被公开。

您可以使用这些HTML标签和属性: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code class="" title="" data-url=""> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong> <pre class="" title="" data-url=""> <span class="" title="" data-url="">