写点什么

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

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

关注

评论

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

声网Agora 实时音视频服务正式上线 HTC VIVE Sync App,支持非 VR 用户

声网

人工智能 音视频 vr

涨薪50%,从小厂逆袭,坐上美团L8技术专家(面经+心得)

热爱java的分享家

Java 面试 程序人生 编程语言 经验分享

官方:陆续清退比特币“矿场”

CECBC

用AI走出“沙丘”

脑极体

区块链如何赋能农村金融服务?

CECBC

spring的默认事务传播是什么?

卢卡多多

Spring Framework 事务传播行为 11月日更

linux之realpath命令

入门小站

Linux

啥是ElasticSearch全流程,看这篇我也懂了

热爱java的分享家

Java 程序人生 编程语言 经验分享 ES

圆梦腾讯之路!6面阿里、5面字节、4面腾讯,终斩腾讯Offer

热爱java的分享家

Java 架构 面试 编程语言 经验分享

NodeJs深入浅出之旅:理解Buffer 🐰

空城机

大前端 Node 11月日更

智能时代的轴承与齿轮:工业互联网如何真正“工业化”?

脑极体

JavaScript 数组方法 splice() 的 3 个示例

devpoint

JavaScript splice 11月日更

[Pulsar] 一个消息的生命历程(二)——Batch和消息重复处理

Zike Yang

Apache Pulsar 11月日更

黄峥、张一鸣、李斌都曾上榜!100个未来独角兽:超越估值看见星辰大海

创业邦

Python Qt GUI设计:QLineEdit和QTextEdit文本框类(基础篇—13)

不脱发的程序猿

PyQt GUI设计 Python Qt QLineEdit QTextEdit

90后女博士谈反内卷,称科研不应攀比论文数,“唯论文论”何时休?

百度开发者中心

开发者 内卷化

您有一份阿里云云原生直播攻略待查收

阿里巴巴云原生

阿里云 Kubernetes 云原生 线下活动

在线数值列表求和工具

入门小站

工具

互联网+质量基础设施服务平台,NQI一站式线上平台开发

电微13828808271

能耗能源管控平台开发,能源管理云平台搭建

电微13828808271

首个沉浸式云原生 Serverless 技术实践营开启报名

阿里巴巴云原生

阿里云 Serverless 云原生 KubeMeet 线下活动

三顾茅庐,七面阿里,25k*16offer,还原我的大厂面经

热爱java的分享家

Java 程序人生 编程语言 经验分享 大厂面试

22 K8S之ConfigMap配置

穿过生命散发芬芳

k8s 11月日更

JavsScript基础篇之函数定义的几种不同方式

你好bk

JavaScript 大前端 数组 html/css

【死磕Java并发】-----J.U.C之AQS:CLH同步队列

chenssy

11月日更 死磕 Java 死磕 Java 并发

Prometheus Exporter (七)ClickHouse Exporter

耳东@Erdong

Prometheus exporter 11月日更 ClickHouse Exporter

如何使用FL Studio效果器制作镶边音效

懒得勤快

12.04 深圳站 | Serverless Developer Meetup 开放报名啦!

阿里巴巴云原生

阿里云 Serverless 云原生 深圳 线下活动

在Vue项目里使用ECharts图标库

石云升

Vue 学习笔记 11月日更 Echar

函数计算 GB 镜像秒级启动:下一代软硬件架构协同优化揭秘

阿里巴巴云原生

阿里云 云原生 函数计算

干掉 XML Mapper,新出的 Fluent Mybatis 真香

AI乔治

Java sql 架构 mybatis

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