写点什么

JetBrains 大力推广 Kotlin 为哪般?

  • 2017-12-25
  • 本文字数:1335 字

    阅读完需:约 4 分钟

在之前一篇备受关注的文章“ 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 极有可能会取得成功。

2017-12-25 18:0011358
用户头像

发布了 322 篇内容, 共 139.9 次阅读, 收获喜欢 145 次。

关注

评论

发布
暂无评论
发现更多内容

毕业设计

Geek_ec866b

架构实战营

Linux Troubleshooting 超实用系列 - Disk Analysis

大卡尔

Linux trouble shooting

消息队列调研

ZuccRoger

5月月更

电商秒杀系统架构设计

浪飞

Web Accessibility 测试实践

刘冉

自动测试 Accessibility

druid源码学习五-AccessController探索

Nick

Druid

Liga译文 | 浅析「产品思维」

LigaAI

产品思维

手把手教你使用 ESLint + Prettier 规范项目代码

CRMEB

微信业务架构图 & 学生管理系统架构设计

Roy

架构训练营

Excel 操作篇:应用 RFM 模型客户分群,提效客户体验管理

龙国富

客户体验 RFM 客户分群

交付项目中QA的思辨悟

刘冉

敏捷测试

vivo 万台规模 HDFS 集群升级 HDFS 3.x 实践

vivo互联网技术

大数据 hadoop hdfs

Go 语言入门很简单:Go 语言执行Shell命令

宇宙之一粟

命令行 Go 语言 5月月更

系统强化工具 AppArmor

baiyutang

Linux Kubernetes k8s 5月月更 apparmor

Kubernetes下web服务的性能测试三部曲之二:纵向扩容

程序员欣宸

Java Kubernetes 5月月更 Jemter

网站开发进阶(六十六)CSS3 - 新单位vmin/vmax与旧单位ex/ch使用详解

No Silver Bullet

Ex 5月月更 vmin vmax ch

设计模式之桥接模式

乌龟哥哥

5月月更

契约测试实践篇

刘冉

Java 8 开始新增的 Optional 类

HoneyMoose

ArrayList源码分析-删除

zarmnosaj

5月月更

模糊测试实践

刘冉

C语言_文件操作相关练习题

DS小龙哥

5月月更

听说你想学Python爬虫?我从零教你啊

梦想橡皮擦

5月月更

《Mybatis 手撸专栏》第8章:把反射用到出神入化

小傅哥

小傅哥 mybatis 源码学习 反射代理 技术框架

毕业总结

Geek_ec866b

架构实战营

如何使用极限网关无缝集成 LDAP 的介绍

极限实验室

elasticsearch Gateway ldap infini 极限网关

毕业总结

浪飞

毕业总结

Leo

架构实战营 毕业总结

tom

毕业设计—电商秒杀系统

Leo

FFmpeg介绍

Loken

音视频 5月月更

JetBrains大力推广Kotlin为哪般?_移动_薛命灯_InfoQ精选文章