写点什么

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:0012226
用户头像

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

关注

评论

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

百万量级的架构设计

俞嘉彬

架构实战营

架构实战营-模块五作业

fazinter

架构实战营

成长练习

escray

学习 极客时间 朱赟的技术管理课 8月日更

毕业设计:设计电商秒杀系统

冬天的树

使用 make 还是 new

Rayjun

Go 语言

【设计模式】装饰器模式

Andy阿辉

C# 后端 设计模式 8月日更

前端通讯协议:WebSocket和长轮询

devpoint

ajax websocket 8月日更

道术之间:人文社科教师为什么要学习AI?

脑极体

架构训练营毕业设计—电商秒杀系统

Neil43

架构训练营

远程过程调用协议RPC(Remote Procedure Call Protocol)

一个大红包

8月日更

架构实战营-模块七作业

fazinter

架构实战营

架构实战营-毕业设计

大可

电商秒杀系统

唐江

架构实战营

数组结构--线性表知识

喵叔

8月日更

模块四作业

绝影

架构训练营

【前端 · 面试 】HTTP 总结(八)—— HTTP 强缓存

编程三昧

面试 HTTP 8月日更 HTTP缓存

架构实战营-模块八作业

fazinter

架构实战营

惊!Go里面居然有这样精妙的小函数!

Gopher指北

Go 语言

架构实战营作业 M04

Shawn Liu

前端之数据结构(五)二叉树

Augus

数据结构 8月日更

千万级学生管理系统的考试试卷存储方案

feitian

模块4作业G20210698020270

哆啦A萌

架构实战营-模块六作业

fazinter

架构实战营

趁着课余时间学点Python(七)一篇文了解迭代器

ベ布小禅

8月日更

千万级学生管理系统的考试试卷存储方案设计

tjudream

redis 架构

删除容器报错:Error response from daemon: conflict: unable to delete

liuzhen007

8月日更

架构实战营 模块四 作业

脉醉

#架构实战营

带孩子VS带团队,不变的是项目管理

Ian哥

项目管理

设计千万级学生管理系统的考试试卷存储方案

君子意如何

「架构师训练营第 1 期」

【架构训练营】模块四作业

zclau

模块四作业

河马先生

架构实战营

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