皇上,还记得我吗?我就是1999年那个Linux伊甸园啊-----24小时滚动更新开源资讯,全年无休!

JetBrains大力推广Kotlin为哪般?

作者 薛命灯

在之前一篇备受关注的文章“Kotlin与Java之争”中,Vasiliy Zukanov讲述了发生在Kotlin与Java之间的一场没有硝烟的战争,并认为企业从Java转向Kotlin可能需要付出更大的代价。最近,Vasiliy继续发文,对JetBrains大力推广Kotlin背后的原因进行了深入分析。

外部一致认为,JetBrains大力推广Kotlin主要是出于开发效率方面的考虑。他们认为Java在某些方面存在“不足”,所以他们要发明一门新的语言,提升开发效率。否则的话,JetBrains为什么要费这么大劲开发Kotlin,并把它用在自己的项目当中?

但事实果真如此吗?作为开发人员,他们通常只能看到项目的局部,无法从全局看到整个项目的成本情况,他们认为花几年时间使用一门全新的语言来提升开发效率是理所当然的事。而JetBrains作为一家非常成功的公司,如果说它在推出Kotlin之前没有给投资人带来任何回报那是不可能的。开发软件产品需要花费巨额资金,薪水、市场推广等方面的费用动不动就是上百万甚至上千万美金。如果说要靠开发一门新语言提升生产力来获得更多回报,那可能这家公司早就不复存在了。更何况,并没有实际证据表明Kotlin给他们带来生产力的提升。但不管怎样,JetBrains作为一家成功的商业软件公司是不争的事实。JetBrains之所以要大力推广Kotlin,跟它背后的商业策略不无关系。

JetBrains的主要业务是开发和销售软件开发工具,IDE是他们最主要的产品线。而编程语言对IDE来说至关重要,这就是为什么JetBrains要极力将Kotlin商业化。但编程语言的商业化太难做,因为切换编程语言对于企业来说代价巨大,所以很难说服企业改用其他编程语言。从IDE厂商的角度来看,他们需要为支持的每一种语言开发工具。现在的开发语言这么多,每个开发者和企业又都有自己的偏好,所以IDE厂商必须憋足了劲开发一大堆工具。对于JetBrains来说,最重要的是想办法把开发者笼络到同一门易于维护的语言上,而最好维护的语言莫过于自家开发的语言了。

反过来说,IDE对于编程语言来说也是至关重要的。编程语言难以商业化,那么IDE呢?不同的IDE有不同的功能特性和外观,开发者也会有自己的喜好,所以IDE也是难以互相替代的。不过相比编程语言,要切换IDE还是比较容易的。那些不愿意掏钱为个人项目购买IntelliJ许可的开发者完全可以使用开源的IDE代替,比如Eclipse、Atom等等。所以说,JetBrains可能面临流失用户的风险,因为他们有太多可替代的IDE。不仅如此,如果出现了一门新语言,大家蜂拥而上,那么JetBrains能够分到的市场份额可能更小了。所以,JetBrains要想在IDE大战中保持市场份额,最重要的是不要让开发者有机会切换到其他IDE,那怎样才能做到这一点呢?答案就是把开发者固定在自己开发的语言上。

除了以上两点,推广Kotlin对JetBrains来说还有第三个好处,那就是顺便提升他们的非IDE工具的市场份额。除了IDE产品,JetBrains还推出了持续集成服务器产品TeamCity和问题跟踪系统YouTrack等。一般来说,使用了Kotlin和IntelliJ的用户也很有可能会使用他们家的其他产品。

综上所述,从长远来看,自家语言加上一整套开发工具栈,极有可能让JetBrains步微软.NET生态系统的后尘。如果这是他们的终极目标,那么JetBrains极有可能会取得成功。

转自 http://www.infoq.com/cn/news/2017/12/JetBrains-Kotlin