写点什么

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

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

关注

评论

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

1499飞天茅台脚本使用过程中遇到的Python问题汇总索引目录【淘宝-天猫超市、京东】

谙忆

飞天茅台 茅台

CSS02 - 选择器

Mr.Cactus

html/css

在线自习室场景爆发,在线教育平台用户时间争夺战打响

ZEGO即构

别无分号只此一家,Python3接入支付宝身份认证接口( alipay.user.certify)体系(2021年最新攻略)

刘悦的技术博客

Python 支付宝 身份认证 刷脸 实名认证

CSS01 - 引入方式

Mr.Cactus

html/css

Java内存模型精讲

伯阳

Java 后端 多线程 多线程与高并发 Java内存模型

腾讯大佬直言:只要掌握了这份“Redis实战笔记”就掌握了云计算的未来!

比伯

Java 编程 架构 面试 程序人生

CSS03 - 常用字体样式

Mr.Cactus

html/css

Ansible 新手指南 - 如何批量管理 NGINX

东风微鸣

ansible

在NGINX中根据用户真实IP限制访问

东风微鸣

低成本构建音视频质量监控平台的最佳路径

华为云开发者联盟

数据中台 数据湖 云原生 RTC 华为云

云算力系统APP开发|云算力软件开发

系统开发

详解 Flink 容器化环境下的 OOM Killed

Apache Flink

flink 流计算

区块链推动电力能源管理新一轮技术变革

CECBC

区块链

<译文>NGINX 实战手册 - 控制访问

东风微鸣

uni-app实现实时消息SDK插件

anyRTC开发者

uni-app 音视频 WebRTC 跨平台 sdk

Spring 事务,你真的用对了吗(下篇)?

废材姑娘

Java Spring Framework

企业架构培训感悟

Man

企业架构 中台战略

一文教你学会Hive视图和索引

大数据老哥

大数据 hadoop hive

RocketMQ如何保证消息顺序性

废材姑娘

RocketMQ

Kubernetes 疑难问题排查 - 10s 延迟

东风微鸣

Kubernetes

区块链技术如何真实有效的赋能智慧交通?

CECBC

区块链

CSS04 - 常用外观属性

Mr.Cactus

html/css

大作业一

Geek_83908e

架构师一期

低代码和零代码快速开发崛起,迎来普通人开发软件的时代!

J2PaaS低代码平台

微服务可能失败的11个原因

xcbeyond

微服务 方法论

面向行业智能,华为数据通信推动的2020之变

脑极体

LeetCode题解:104. 二叉树的最大深度,BFS,JavaScript,详细注释

Lee Chen

算法 大前端 LeetCode

抄答案就是了,两套详细的设计方案,解决头疼的支付掉单问题

楼下小黑哥

支付系统 架构设计

应用案例| 基于Volcano 的锐天大规模离线高性能计算生产实践

华为云原生团队

云计算 大数据 AI 云原生 批量计算

区块链:能源行业出现破坏性创新的基础?

CECBC

区块链 能源

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