JetBrains用Kotlin布了一个大局

以下观点来自Vasiliy Zukanov的博客,并经过大码农编译总结。如果要查看原文,请点击文末的“查看原文”。

2011年,在经过了一年精心开发之后,JetBrains发布了他们的JVM编程语言Kotlin。2016年2月15日,Kotlin 1.0发布,这是第一个正式稳定版。在2017年5月的Google IO开发者大会上,谷歌宣布Android平台正式支持Kotlin,Kotlin从此成为Android的一等开发语言。

Kotlin也被戏称为Android上的Swift,并与Java之间展开了一场没有硝烟的角逐战。很多人认为,JetBrains之所以推出Kotlin,主要是想开发出一门比Java更好的编程语言。因为他们觉得Java难以为他们带来更高的开发效率,Java既笨重又啰嗦,开发同一个功能通常需要写更多的代码。

有人说Kotlin可读性比Java好,语法也比Java更胜一筹。但可读性和语法体验都是很主观的东西,我们又如何从客观角度去衡量一门语言的“可读性”呢?既然没有人做过此类实验,那么就没有任何客观的数据可以支撑这一观点。而语法会影响可读性的说法也是站不住脚的。相信每个人都学过几门编程语言,在开始学习一门新语言时,确实会有一段时间难以看懂代码,但随着阅读代码量的增加,逐渐熟悉了这门语言之后,就不会被语法方面的东西牵绊住了。即使学的是Lisp,一旦熟悉了它的语法,适应了Lisp的括号之后,也就感觉不到它们的存在了。所以,Kotlin提供的语法糖对可读性产生的影响也是微乎其微的。

相反,在阅读了大量别人的代码之后,我们似乎可以得出这样的结论:如果开发人员可以使用某一门语言写出可读性很高的代码,那么他们也完全可以使用其他语言写出具备同样可读性的代码。换句话说,代码的可读性和语言无关,它完全取决于开发者的编码能力和代码阅读者的理解能力。

现在让我们回过头来,思考一下JetBrains所说的要提高生产效率是为了什么?对于一家企业来说,提升生产效率当然是为了节约成本,赚取更多的利润。JetBrains是一家非常成功的软件公司,这一点是不可否认的。但要说如此成功的一家公司居然要靠一门编程语言提升生产效率来提升竞争力,那自然是说不过去的。更何况,他们从2011年开始就持续投入资源开发Kotlin,如此大费周章,难道只是为了要开发一门看似会带来更“高”生产力的编程语言?对于JetBrains这样的公司来说,投入研发的资金动不动就要几百上千万美元,员工薪水、市场推广等方面的费用都不是小数目。而且这么多年了,如果他们没有给股东赚到钱,恐怕到现在已经不复存在了。再则,Kotlin是不是实实在在给他们带来了生产力的提升还是个很大的未知数。

JetBrains是一家靠出售开发工具为生的公司,在商言商,如果我们从他们的商业策略角度来分析问题,或许能够找到更恰当的理由来解释为什么JetBrains要极力推广Kotlin。

IDE是JetBrains最主要的产品线,而编程语言对IDE来说至关重要。但编程语言的商业化太难做,因为切换编程语言对于企业来说代价巨大,所以很难说服企业改用其他编程语言。从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所说的提升生产力只不过是个幌子,他们的终极目标是锁定用户,牢牢地钉住市场份额。

本文来自企鹅号 - CoffeeTalk媒体

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏phodal

我的职业是前端工程师:我要成为一个前端设计师

我年轻的时候,是一个前端工程师。那时候,有这样一个传说:美工是最受妹子的欢迎,其次是半个美工的前端工程师。 本故事纯属瞎掰,如有雷同纯属巧合——Phodal @...

2239
来自专栏编程微刊

程序员常用的六大技术博客类

2745
来自专栏二次元

萌音社区来了~哇

作为新一代开放性的二次元交流社区,图片、视频、声音,甚至是黑科技等,在允许的范围内,你几乎可以发遍任何内容.....

1100
来自专栏达观数据

通过苹果APP Store站内搜索故障 来告诉你站内搜索水有多深

苹果站内搜索故障已修复 5月5日下午,发生了一件你不可错过的大事!苹果APP Store站内搜索故障犹如洪水猛兽,来势汹汹,多款应用疑似下架,但一家欢喜一家愁...

35610
来自专栏Java架构

Java程序员月薪达到三万,需要技术水平达到什么程度?

最近跟朋友在一起聚会的时候,提了一个问题,说Java程序员如何能月薪达到三万,技术水平需要达到什么程度?人回答说这只能是大企业或者互联网企业工程师才能拿到。也许...

49011
来自专栏开源项目

Unity 开发?看这些就够了!| 码云周刊第 42 期

码云项目推荐 目前 Unity 已成为最受欢迎的移动游戏引擎,在国内也有很多采用 Unity 开发的客户端游戏以及网页游戏,比如成都九众的《将魂》,《老友记...

4277
来自专栏java一日一条

自由程序员的3个开发技巧

我们有三个系列的小技巧要分享:与你的客户沟通,保护你的声誉以及解决常见的自由职业问题。下面让我们开始吧!

681
来自专栏VRPinea

告别“剁手”,VR或将能帮你省下一大笔购置其他硬件设备的开支

2917
来自专栏JAVA高级架构开发

一辈子做程序员怎么了?

@游戏开发极客: 上赶着不是买卖,大公司找大牛,创业公司找想创业的人,聊两句就有结果了。 理念不合强扭的瓜来了就是埋雷。

480
来自专栏互联网技术栈

方法论-SMART

Specific Measurable Attainable Relevant Time-bound

1013

扫码关注云+社区

领取腾讯云代金券