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

JetBrains大力推广Kotlin为哪般?相关推荐

  1. Ktor 1.0发布:JetBrains推出的Kotlin Web框架

    以下由Kotlin中文站翻译自JetBrains官方博客,本文由Kotlin中文站授权转载: 在我们开展Kotlin工作时,我们实现了很多特性,以便用于构建符合使用习惯且高效的API.我们始终期待着能 ...

  2. JetBrains开发者日见闻(一)之Kotlin/Native 尝鲜篇

    简述: 今天我们来讲点Kotlin中比较时髦的东西,有的人可能会说:"不像你之前的风格啊,之前的文章不是一直在死扣语法以及语法糖背后秘密.当你还在死扣泛型语法的时候,别人的文章早就说了Kot ...

  3. JetBrains 发布Kotlin 1.0

    在Beta 之后仅仅几个月,JetBrains 正式宣布Kotlin 的第一个稳定版本,其基于JVM 并兼容Android的新语言.制造商表示,Kotlin 打算作为一个"好工具" ...

  4. 【译】迁移被废弃的Kotlin Android Extensions插件

    原文:Migrating the deprecated Kotlin Android Extensions compiler plugin 作者:Ahmad El-Melegy 在Kotlin 1.4 ...

  5. 认识一下Kotlin语言,Android平台的Swift

    今天在CSDN首页偶然看到一个贴子JetBrains正式公布Kotlin 1.0:JVM和Android上更好用的语言 看完后,感觉Kotlin语法非常简洁,有一系列动态语言的特点,Lambda表达式 ...

  6. Kotlin入门(20)几种常见的对话框

    提醒对话框 手机上的App极大地方便了人们的生活,很多业务只需用户拇指一点即可轻松办理,然而这也带来了一定的风险,因为有时候用户并非真的想这么做,只是不小心点了一下而已,如果App不做任何提示的话,继 ...

  7. 申通回应被京东“封杀”;Kotlin 1.4.0 发布 | 极客头条

    「极客头条」-- 技术人员的新闻圈! CSDN 的读者朋友们早上好哇,「极客头条」来啦,快来看今天都有哪些值得我们技术人关注的重要新闻吧. 国内要闻 字节跳动全资收购才云科技,相关业务及团队并入火山引 ...

  8. kotlin开发Android入门篇一

    基础篇:基本类型及方法的定义 kotlin介绍:Kotlin是一个基于JVM 的新的编程语言,由JetBrains 开发. Kotlin可以编译成Java字节码,也可以编译成JavaScript,方便 ...

  9. Android Studio上Kotlin的入门,移动应用系统开发

    Kotlin入门 为什么选择Kotlin Kotlin是什么 Kotlin的优势 第一个Kotlin应用 Kotlin的基本语法规则 变量 函数 匿名函数 字符串模板 注释 Null 安全 类型检测和 ...

最新文章

  1. 手把手 docker 从零搭建 jenkins 服务器
  2. codis集群部署实战
  3. 【机器学习】——纯Python建立BP模型
  4. ftp ---- 配置文件(默认配置文件解读)
  5. 转:基于科大讯飞语音API语音识别开发详解
  6. Java 获取本地时间,并格式化年、月、日
  7. 《电路分析导论(原书第12版)》一3.14 压控电阻
  8. IPVS和Nginx两种WRR负载均衡算法详解
  9. @PathVariable获取带点参数,获取不全
  10. 毕业生推荐表特长计算机专业,优秀毕业生推荐表个人简历怎么写
  11. cad通过钢筋大样生成钢筋明细表插件_常青藤钢筋工具系统
  12. Tomcat下载安装及配置
  13. 润乾报表性能优化问题
  14. POJ3345 Bribing FIPA(树形DP)
  15. ai人工智能_人工智能能否赢得奥运
  16. openbsd运行Linux应用程序,OpenBSD上的服务管理程序rcctl
  17. 计算机中开方的符号,开方符号-平方根符号怎么打?平方根符号在word和Excel中怎么打?上面 爱问知识人...
  18. 受用一生的高效PyCharm使用技巧(三)
  19. RAAT: Relation-Augmented Attention Transformer for Relation Modeling in Document-Level 论文解读
  20. python语言命名规则-一文轻松掌握python语言命名规范规则

热门文章

  1. Spring.net使用说明
  2. Java数据类型简单认识
  3. Linux多任务编程之五:exit()和_exit()函数(转)
  4. POJ 3177 判决素数个数
  5. linux下查看内存使用情况
  6. 基础数据结构【一】————数组
  7. 从一个需求看问题的无限复杂化和简单化
  8. 在分页状态下删除纪录的问题
  9. 广告条随滚动条的移动而移动
  10. 图像配准----Harris算子