写点什么

JetBrains 大力推广 Kotlin 为哪般?

2017 年 12 月 25 日

在之前一篇备受关注的文章“ 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:009291
用户头像

发布了 321 篇内容, 共 111.5 次阅读, 收获喜欢 112 次。

关注

评论

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

Java程序员想要进阶,想了解Java服务器的深层高阶知识,Netty绝对是一个必须要过的门槛。

Java架构之路

Java 程序员 架构 编程语言 随笔杂谈

解锁华为云AI如何助力无人车飞驰“新姿势”,大赛冠军有话说

华为云开发者社区

AI 无人驾驶

华为云瑶光:打通云边端界限,为企业云上业务带来最优解

华为云开发者社区

华为 云服务

第四周作业

dll

游戏数值策划之常用excel函数

吴优秀同学

Excel 游戏

1分钟带你入门 Redux 中间件

Leo

前端 中间件 前端进阶训练营 Redux Redux中间件

连续一个月每天加班到凌晨三点,终于把Java程序员必知必会的计算机底层操作系统知识和网络知识整理出来了,已整理成文档!

Java架构之路

Java 程序员 架构 编程语言 操作系统

mongodb 源码实现、调优、最佳实践系列-百万级代码量mongodb内核源码阅读经验分享

杨亚洲(专注mongodb及高性能中间件)

MySQL mongodb 源码 中间件 分布式数据库mongodb

区块链交易所开发源码案例,区块链数字货币交易所

135深圳3055源中瑞8032

膜拜!阿里技术总监纯手打的《MySQL笔记》内部资料限时分享

Java架构师迁哥

架构训练营学习笔记之五技术选型(一)

于成龙

架构训练营

原来AI也可以如此简单!教你从0到1开发开源知识问答机器人

华为云开发者社区

开源 AI 机器人

区块链钱包源码开发,深圳数字货币钱包开发

135深圳3055源中瑞8032

合约跟单源码,合约跟单模式系统软件开发

135深圳3055源中瑞8032

在网上被MG坑审过却一直延迟无法取出到账怎么解决 (LGF微7998)

Geek_db0f9e

美腻了!Java资深架构师带你深度学习字节跳动的亿级流量+高并发

Java架构追梦

Java 学习 架构 面试 微服务

1分钟带你入门 React 公共逻辑抽离HOC...

Leo

React Hooks 前端进阶训练营 HOC Render Props

Nginx 在运维领域中的应用,看这一篇就够了

华章IT

nginx Linux 运维工程师

USDT承兑商平台源码开发,USDT支付系统

135深圳3055源中瑞8032

独家!阿里技术人限产的MySQL高级笔记及面试宝典,学完简直开挂

Java架构追梦

Java MySQL 数据库 架构 面试

基于注解的参数校验器Hibernate Validator

HelloLittleRain

Java springboot 参数校验 Hibernate-Validator

聊聊技术人员如何学习成长

架构精进之路

职业成长

LeetCode题解:98. 验证二叉搜索树,递归中序遍历完成后再判断,JavaScript,详细注释

Lee Chen

算法 LeetCode 前端进阶训练营

云原生在京东丨云原生时代下的监控:如何基于云原生进行指标采集?

京东科技开发者

云原生

透视HTTPS建造固若金汤的堡垒

码哥字节

https 加密解密 HTTP

算法分析关键

Geek_0b8195

算法和数据结构

独角兽高级技术总监手写588页性能调优笔记,十年经验发人深省

周老师

Java 编程 程序员 架构 面试

万物互联的IoT时代,柔性电子会大行其道吗?

脑极体

杂谈:一文了解工业4.0

soolaugust

工业互联网 工业4.0

一套完整的后台管理系统(附源码),非常实用!

程序员生活志

管理系统

Java程序员还在为没有项目经验感到苦恼?快来看看GitHub上最火的SpringCloud微服务商城系统开源项目,附全套教程!

Java架构之路

Java 程序员 架构 面试 编程语言

JetBrains大力推广Kotlin为哪般?-InfoQ