前言

你好,我是方同学(YourBatman)

A哥 -> 方同学。是的,中文昵称改了。自知道行不深无以用“哥”字称呼,虽已毕业多年,同学二字寄寓心态一直积极、热情、年轻

题记:笔者2015年入行,2017年9月首次使用IntelliJ IDEA,从最初的排斥抵触,到现在爱不释手。一晃IntelliJ IDEA 20岁了,祝福它越来越好。近一年我分享了好几篇关于IDEA的深度剖析文章,在文首就提前分享给你:

  • IntelliJ IDEA 2020.3正式发布,年度最后一个版本很讲武德
  • IntelliJ IDEA 2020.2正式发布,诸多亮点总有几款能助你提效
  • IntelliJ IDEA 2020.1正式发布,你要的Almost都在这!
  • IntelliJ IDEA 2019.3正式发布,给我们带来哪些新特性?
  • IDEA命令行缩短器助你解决此问题:Command line is too long. Shorten command line

2001年,IntelliJ IDEA诞生,使得开发更富有成效和愉快的体验;2021年,IntelliJ IDEA已受到全球400多万开发者的喜爱和使用!

IntelliJ IDEA是JetBrains公司最为重要的产品,没有之一。回顾20周年,在其创立之初,JetBrains只是布拉格(捷克的首都)一家普通得不能再普通的小公司。起初只有3名员工,做着一款产品为800个客户提供服务。经过20年的持续发展,该公司已然成为一个跨国公司,办事处遍布全球9个国家之多,员工人数也超过1200名,开发者工具达到25款之多,用户规模更是突破800万。

说明:JetBrains产品面向的是开发者/程序员,并非普通C端用户,因此这个数字是非常惊人的

今年(2021年)是IntelliJ IDEA的20周年,为此JetBrains公司计划搞一个盛大的周年庆活动,管它叫IntelliJ IDEA Conf,所有开发者均可免费报名参与,公司创始人Maxim Shafirov会“亲临现场”哦。会议时间、具体日程下待会再做成列。

本文提纲

版本约定

  • IntelliJ IDEA:2020.3.1

正文

IntelliJ IDEA风风雨雨走过20年,取得了众多骄人成绩。站在这个时间节点上,我们先一同来领略下其风采。透过冰冷的数字,我们能体会到IntelliJ IDEA工程师们的骄傲和自豪。

IntelliJ IDEA成绩单

在刚刚过去的2020年整年,全球共400万+开发者在使用IntelliJ IDEA,共被下载了超过1千200万次。

IntelliJ IDEA是全球性的国际化的,它的使用者坐落在世界的各个角落。从官方统计出的这张图能看到各州分部:

从地图上也能看到,亚洲使用IntelliJ IDEA的人是最多的。毕竟,你懂的中国在亚洲嘛(还有印度),人数总量这一块从来都是拿捏得死死的。

截止2021年1月,亚洲总人口45亿,全球77亿,占比60%左右

使用人数国家Top 5

第一有悬念吗?答,没有。毕竟对人数这块中国还没怕过谁~

第一名:中国

第二名:美国

第三名:印度

第四名:德国

第五名:俄罗斯

说明:统计数据来自2020整年

特性使用次数Top 5

在过去20年里,IntelliJ IDEA共发布了40+个主要版本,效率惊人。发布N多特性,其中最被开发者常用的五大特性为:

  • 第一名:代码补全
  • 第二名:显示意图操作
  • 第三名:运行
  • 第四名:跳转到声明地方
  • 第五名:切换行断点

说明:统计数据来自2020整年

IntelliJ平台产品汇总

IntelliJ是个平台,而IntelliJ IDEA是其基础。还有很多的商业/非商业产品,众多成熟的IDE和插件,放一张让人骄傲的产品图:

依托于IntelliJ这么优秀的基因,提供了强大底座,使得每款产品都非常的优秀,而且体验上还能保持高度一致。

IntelliJ IDEA市场份额

IntelliJ IDEA主要面向Java开发者,而Java语言的IDE主要有三座大山:

  • Apache NetBeans
  • Eclipse
  • IntelliJ IDEA

他们三在不同的时间阶段都曾统治过“江山”。IntelliJ IDEA作为后起之秀,站在今天的这个时刻(2021年),它已成为绝对的霸主。下面附图是JVM生态报告2020年版(IDE篇):

2020年IntelliJ IDEA的市场份额达到62%之多,远超第二名的Eclipse的20%。值得一提的是,鼎鼎大名的Eclipse在2019年份额还有38%呢,2020年就下降到了20%,降幅可谓巨大。第三名的NetBeans存在感越来越弱,被彻底淘汰只是时间问题。

说明:Eclipse的“变种”,如Spring的STS、MyEclipse等都被统计到Eclipse的份额内

IntelliJ IDEA完成超越有两个重要的时间节点:

  • 2012年:IDEA的综合表现已全面超过Eclipse,这为开发者开始倒戈提供了条件
  • 2016年:IntelliJ IDEA市场份额首次超过Eclipse,从此开启快速蚕食其剩余市场份额之路

IntelliJ IDEA对比Eclipse

关于IntelliJ IDEA和Eclipse谁更好的问题,众说纷纭,这种问题永远没有答案,毕竟极客还认为用vim写代码它才是最好的编辑器/IDE呢,这个因人而异,我认为展开讨论并无意义。

但是,从大的方面来说,市场份额这个数据说明一切,选择一个工具时,择“第一名”总是最好,毕竟市场的选择总是明智的。倘若你没把自己定义为非常特殊,做这种选择往往是最安全的。

众所周知,IntelliJ IDEA的一大特点是吃内存。有的人说IDEA是伴随着硬件性能的快速发展而起来的,这个观点我个人也非常同意,可谓时势造英雄,最大化榨出硬件性能本就是一项重要能力。在现在标配至少8G的内存下,还在纠结IDEA吃掉1-2G的内存吗?你不给IDEA用准备给谁呢?让它闲着抽烟呢?

A哥自己严格的讲从来没有使用过Eclipse,而是用过2年的STS,然后倒戈IntelliJ IDEA再也回不去。我若要推荐IDEA用一句话推荐语:IntelliJ IDEA它真懂你,想你所想。这就像谈朋友,无需多言便可知晓对方意思,是一种多么好的体验。

要说IntelliJ IDEA的唯一“缺点”就是收费,而且还不便宜。商业收费在市场占有率方面竟然干过了开源免费产品,这在行业内都是极其少见的,IntelliJ IDEA这个公司可不简单。

IntelliJ IDEA 20年旅程回顾

20年沧海桑田,浮光掠影,最后我们打起精神,一起回顾该跨产品这段不可思议的旅程吧。

2001 - 2006

  • 2001年:1月,IntelliJ IDEA第一个版本发布。同年年底发布了其2.5版本,集成了Ant和Junit等重磅能力

  • 2002年:6月发布2.6版本,支持当时最新的JDK 1.4。11月3.0版本正式发布,引入了有“救命稻草”美称的本地历史功能,其提升了重构能力

  • 2003和2004年:2004年2月,4.0版本重磅发布。为IDEA的炫基因奠定了基础。同年7月发布4.5版本,宣布支持划时代的JDK 5版本

  • 2005年:8月,发布IntelliJ IDEA 5.0版本,从此版本开始,IDEA宣布正式支持Web开发(HTML、CSS、JavaScript),有欢迎屏幕了,并且支持将JBuilder/Eclipse 项目快速导入

  • 2006年:2月发布 IntelliJ IDEA 5.1,提供业界最佳 i18n 支持。3月推出博客。10月,JetBrains 宣布推出 IntelliJ IDEA 6.0(本年度第二个版本,从此版本号和年份对齐了),改进了 Java EE 开发,增强了 Swing GUI 设计器、代码覆盖和 JUnit 4 集成

2007 - 2012

  • 2007年:10月JetBrains 发布 IntelliJ IDEA 7.0,提供 Spring 和 Hibernate 全面支持、Web 服务、Maven 和 ClearCase 集成、Ruby 和 Groovy 支持以及其他提供生产效率的功能

  • 2008年:11月发布IntelliJ IDEA 8,引入 SQL 支持、UML 类图、JBoss Seam、FreeMarker、Velocity 等

  • 2009年:10月JetBrains公司推出了IntelliJ IDEA的免费开源版本 - IntelliJ IDEA Community。12月发布的IntelliJ IDEA 9带来广泛的 Java EE 6 支持、出色的 PHP 支持等

  • 2010年:IntelliJ IDEA开启新的10年发展计划发布 IntelliJ IDEA 10,集成数据库表编辑器,支持 Maven 3,增加了新的依赖图和新的 POM 重构等

  • 2011年:10月,正在在GitHub上托管 IntelliJ IDEA Community Edition 和 IntelliJ 平台的源代码。12月发布的IntelliJ IDEA 11版本引入Gradle 集成,支持 Play 框架的 Web 开发等

  • 2012年:2月IntelliJ IDEA 中添加了 Kotlin 支持。12月IntelliJ IDEA 12 深色系的主题为高效开发带来了一股暗黑风

2013 - 2018

  • 2013年:12月发布的IntelliJ IDEA 13 引入了广受赞誉的 Search Everywhere、嵌入式终端等。

  • 2014年:11月发布了 IntelliJ IDEA 14,它为 Java 类添加了一个反编译器,并引入了 Scratch 文件以及其他酷炫功能。12月,Google 宣布推出 Android Studio 1.0,一款基于开源 IntelliJ IDEA 社区版的 Android 应用开源 IDE。

  • 2015年:11月发布了IntelliJ IDEA 15,为调试器配备了一流的 lambda 支持,增加了对 Kotlin 的开箱即用支持。

  • 2016年:3月确定转向每年3个版本的节奏,且版本号以年份进行命名,同时还引入ToolBox App,这一款免费桌面应用程序,可让您轻松安装和更新 IntelliJ IDEA 以及所有其他 JetBrains IDE,然后2016.1版本发布并捆绑了Kotlin1.0环境。7月IntelliJ IDEA 2016.2 更新提供了对 JUnit 5 的支持。11月发布的IntelliJ IDEA 2016.3,包含大量实用 Java 8 重构。

  • 2017年:3月发布的2017.1版本全面支持ava 9、Kotlin 1.1、Go语言等。11月发布的IntelliJ IDEA 2017.3版本为其丰富的集成工具家族增加了新成员:基于编辑器的 HTTP 客户端

  • 2018年:7月2018.2版本发布,增加了对 Java 11 和 MacBook Touch Bar 的支持,引入了 Breakpoint Intention 等。11月2018.2版本发布,支持了Java 12

2019 - 2021

  • 2019年:3月2019.1版本发布,引入了全新主题且可自定义主题。11月2019.3版本发布,大大提升性能和整体质量。12月,面向教学编程的IntelliJ IDEA Edu版本正式亮相

  • 2020年:1月推出Mono字体,一种专为开发者设计的新字体。它后来成为 IntelliJ IDEA 和其他JetBrains IDE的默认字体。4月发布2020.1版本,支持Java 14,可直接从IDEA内部下载JDK。12月发布2020.3版本,对Git的使用改善

  • 2021年:IntelliJ IDEA 20周年,举办盛大虚拟集会活动,介绍IDEA产品细节、惊艳的功能等等

IntelliJ IDEA Conf庆祝活动

活动内容简介:IntelliJ IDEA的缔造者们分享其线路图、惊人的功能以及使用方法介绍,旨在帮助你成为一个更快乐、更高效的开发者
活动时间:2021年2月25日-26日(说明北京时间比捷克布拉格快7小时)
活动费用:免费
参与人员:所有已报名的开发者
报名地址:https://www.jetbrains.com/lp/intellijidea-20-anniversary

对用户说

今天,我们想花一点时间感谢你们,我们了不起的用户。如果没有您和您提供的宝贵反馈,IntelliJ IDEA就不会有今天的成就!

感谢你们的到来,让我们一起庆祝这一里程碑!

总结

冰冻三尺非一日之寒,二十载时光打造出这款非常优秀的IDE,造福全球开发者。20岁已不再年轻,却又风华正茂,让我们一起为它庆祝,为它祝福。

最后不能忘了,依旧要向那些孜孜不倦为IT行业提供优秀工具的人们致敬!!!特别是捷克的那些创造者们,你们创造了非常好的工具提高了生产力,推动了社会产业的进步,功勋卓越!!!

本文思考题

本文所属专栏:IDEA,后台回复专栏名即可获取全部内容。本文已被https://www.yourbatman.cn收录。

看完了不一定懂,看懂了不一定会。来,文末3个思考题帮你复盘:

  1. IntelliJ IDEA是哪一年把代码托管到github开源的?
  2. IntelliJ IDEA什么时候开始提供暗黑主题,尽显B格?
  3. JetBrains的这次20周年庆活动免费吗?如何参与?

推荐阅读

见文首

System.out.println("点个赞吧");
echo('关注【BAT的乌托邦】');
console.log("私聊YourBatman:fsx1056342982");

我是YourBatman:一个早在2013年就已毕业的大龄程序员。网瘾失足、清考、延期毕业、房产中介、送外卖、销售…是我不可抹灭的标签。

  • 2013.08-2014.07宁夏银川中介公司卖二手房1年,毕业后第1份工作
  • 2014.07-2015.05荆州/武汉/北京,从事炸鸡排、卖保险、直销、送外卖工作,这是第2,3,4,5份工作
  • 2015.08开始从事Java开发,做过兼职,闯过外包,呆过大厂!现为我司基础架构团队负责人。Java架构师、Spring开源贡献者,博客专家,领域建模专家。热衷写代码,有代码洁癖;重视基础和基建,相信效率为王
  • 现在写纯粹技术专栏(公号后台回复专栏列表获取全部),不哗众取宠。如果你也有共鸣,可加我好友一起进步哈(备注:java)

IntelliJ IDEA 20周岁啦,为期2天的周年庆活动对开发者免费开放相关推荐

  1. 【Cloudaily】Elastic Stack 5.2.0 版本发布,Uber免费开放全球20亿行程数据

    Cloudaily网罗新鲜要闻,每日为你呈现大数据和云计算领域热点新闻.本次内容播报如下: Apache Storm 1.0.3 发布,分布式实时计算 Apache Storm 1.0.3 发布了,A ...

  2. TikTok Shop在菲律宾举行了为期一周的年中销售活动

    目前,在菲律宾的TikTok Shop,包括时尚.家居和生活.美容和个人护理等品类都可以找到.包括品牌 realme.Unilove.Perysmith和Kily.phonline等品牌入驻. Tik ...

  3. 八卦20周年庆主题词:变身文豪有套路!专业解读1999-2019科技发展

    SO不是每一句对不起,都能换来一句没关系.但是小姐姐保证,你的每一个评论都会收到回应.(这就是所谓的参与奖,优秀奖我们发个抢红包活动,到时候加你微信呐) 活动时间:2019年3月12日--4月12日 ...

  4. IntelliJ IDEA 18 周岁,吐血推进珍藏已久的必装插件

    点击上方"方志朋",选择"设为星标" 回复"666"获取新整理的面试资料 IntelliJ IDEA是目前最好最强最智能的Java IDE, ...

  5. 【活动】PMcaff免费培训之终结版扩招名额----20名额等你来抢

    2015年重磅活动,PMcaff产品经理公开课扩招名额开抢啦! 本次活动,小伙伴的热情程度超乎想象,在抽中上课的小伙伴中,由于有的小伙伴由于工作等原因不能参加本次培训,经过紧急统计,将20个名额让出, ...

  6. 【OCM第17期开班】第17期11g OCM培训将于7月22号晚20点在腾讯课堂开班,第1场考试免费培训!!!...

    Oracle 11g ocm第17期将于7月22号晚上20点开班,第1场考试免费培训,包过,题库100%覆盖,提供和考试环境一样的练习和模拟环境. Oracle  11g OCM免费上课培训网上报名连 ...

  7. 【OCM第18期开班】第18期11g OCM培训将于8月23日,晚20点在腾讯课堂开班,第1场考试免费培训!!!...

    Oracle 11g ocm第18期将于8月23号晚上20点开班,第1场考试免费培训,包过,题库100%覆盖,提供和考试环境一样的练习和模拟环境. Oracle  11g OCM免费上课培训网上报名连 ...

  8. 郑州大学计算机系1996级校友,公共管理学院成功举办96级公共关系专业学生毕业20周年返校活动...

    炎炎烈日无法阻挡同学们回家的脚步,7月14日上午十点,1996级公共关系专业的学生们,在郑州大学南校区国际学院第一会议室,召开庆祝毕业二十周年师生座谈会.公共管理学院院长高卫星.信息管理学院党总支书记 ...

  9. 光环国际20周年庆六城联动峰会「北京场」圆满结束!

    7月11日,以"科创共生 筑梦未来"为主题的光环国际20周年六城联动峰会在京举办.光环国际创始人兼CEO张泽晖先生在大会现场做了重要讲话,同时,大会邀请到6位重磅嘉宾针对人工智能和 ...

最新文章

  1. 机器学习与高维信息检索 - Note 2 - 统计决策和机器学习
  2. 解决通过pip安装好的库无法被第三方编译器调用的问题
  3. oracle sql序列,SQL server 和Oracle 序列
  4. jpa多表关联查询_Spring Boot 整合mybatis如何自定义 mapper 实现多表关联查询
  5. 语音识别免费的api
  6. 向SourceView增加垂直行号标注
  7. 关于easyui还有一个问题:easyui的开发者是国人?
  8. mysql事务一致性实现原理_MySQL -- 事务的实现原理
  9. 蓝桥杯题目 统计回文子串
  10. itextpdf 超链接
  11. ctfmon是什么启动项_win10系统启动项中没有ctfmon进程的图文方法
  12. web-页面body添加背景图片
  13. PHP自学no00001第一个php程序
  14. python 列表写入excel_Python读写excel表格的方法一
  15. 手把手带你 Unity 入门之从零创建一个时钟(GameObjects 与 Scripts)
  16. 前端js实现京东轮播图
  17. 电视剧中的程序员,是真的敲代码吗?
  18. 三维重建基本学习路线
  19. Sql之left join(左关联)、right join(右关联)、inner join(自关联),以及笛卡儿积表的区别
  20. InstallShield打包软件使用

热门文章

  1. 百度Map-手机版加减号显示不出来-1.1
  2. python series去重_pandas中DataFrame和Series的数据去重
  3. Windows C盘容量不足,无损转移磁盘文件
  4. WM生态体系简介及其CEO杨永强简介
  5. 存款到余额宝的人多吗?为什么?
  6. 遗传算法之二进制编码
  7. 代码转图片Carbon-高雅程序员必备!
  8. 计算机能破坏光盘中的系统吗,系统损坏的光盘修复方法_电脑故障修复_电脑知识学习_培训之家...
  9. 【100】Down Just me-测试网站服务是否宕机
  10. Flyway 助力数据库脚本自动化管理攻略