当前位置: 首页 > 科技观察

JetBrains用Kotlin布局大图

时间:2023-03-14 00:50:21 科技观察

2011年,经过一年的精心开发,JetBrains发布了他们的JVM编程语言Kotlin。2016年2月15日,Kotlin1.0发布,这是第一个正式的稳定版本。在2017年5月的GoogleIO开发者大会上,Google宣布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所说的生产力提升只是一个幌子,他们的最终目的是锁定用户,牢牢钉住市场份额。