前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >为何 JetBrains 公司做 IDE 就可以养活自己,而国内公司却很难做到?

为何 JetBrains 公司做 IDE 就可以养活自己,而国内公司却很难做到?

作者头像
Java技术栈
发布2022-08-25 19:17:24
7610
发布2022-08-25 19:17:24
举报
文章被收录于专栏:Java技术栈Java技术栈

点击关注公众号,Java干货及时送达

作者:昌维 来源:https://www.zhihu.com/question/537774494/answer/2534015588

知乎上有一个提问:

分享一个很有意思的回答。

1

我是一名 JetBrains 的忠实粉丝。我学习编程语言的经历大概有 10 年左右,使用 JetBrains 大概有 7 年左右。

在这么多年的学习编程和使用 JetBrains 全家桶的过程中,我认为 JetBrains 的成功不仅仅是技术原因,还有的是产品上面的创新。

而这些创新都离不开大型软件工程的实战经验,因为只有经历过大型软件工程的开发与不断迭代过程,才知道一款优秀的 IDE 里面需要什么功能,哪些功能能够帮助程序员高效地开软件。

网传 JetBrains 的 IDEA 系列最早的“杀手锏”功能是 refactor (rename)重构功能。

例如,在 IDEA 中你可以使用 Shift+F6 快速将一个变量改名,并且这个改名操作将应用到所有引用了该变量的代码。

这就需要 IDEA 对整个项目中的所有代码做 parser,追踪他们之间的引用关系,这类功能的背后离不开强大的代码静态分析技术。

所以做专业软件,首先是需要有技术方面的支持,其次是产品方面的设计考量IDEA 的重构功能极为强大,包括各种强大的 extract,路径移动等。

最新 Java 面试题整理好了,大家可以在Java面试库小程序在线刷题。IDEA 的强大远不如此。它的功能包括但不限于

想到以上这些功能的创意,需要 JetBrains 的产品经理需要有极长时间的一线 coding 经验,并且这些软件工程项目的质量要求很高(如果是屎山项目,也就没有用到重构功能的必要性),尤其是经历过从 0 搭建起一个项目,并且后面又遇到需要重构的情况。

2

而国内做不出来这类软件,原因也主要有如下

做工业软件,最好就需要是这个领域的工程师直接转行来做工业软件的产品经理,因为只有自己行业的人才最了解自己人。

而我们的现状是连抱有工程师思想以及拥有工程师文化的公司都非常稀少,更别指望真正的工程师们在拥有丰富经验之后转行 PM ,然后设计优秀的工业软件帮助我们加速生产效率,解放生产力。

3

最后,再谈谈 JetBrains 在获客与留存方面做的努力很多工业软件都有 help 帮助文档。

但是大家可以扪心自问一下,你们真的有看过专业软件的 IDE 吗?你们有点开过专业软件的 help 菜单吗?

以 JetBrains 家的 goland 为例,当你初次安装时时,首次启动软件会显示引导画面,里面会使用言简意赅的文档和样例代码帮助你快速掌握这款 IDE 的各类 feature

如图所示,这是 goland 的 learn 功能,而图上此时此刻显示的则是如何使用快捷键快速删除代码行或者换行,以及将过长可变参数的代码自动转换为可读性较强的多行格式。

无论是样例代码,还是帮助文档的文案,他们都设计得言简意赅,而且即使是英文,也是选择了计算机领域常见的英文单词,不会对非英语母语人士造成太多障碍。

只有当用户能够很快学习上手你的软件,那么你才能长久留存客户

而这一点,在我见过的绝大多数驰名全球的顶级专业软件(包括设计领域的 Adobe 全家桶,电子工程领域的 MATLAB,Cadance ICC、Altium Designer、TI 德州仪器的 LabView 和 Multisim,Intel Quartus,Xilinx Vivado)都做得非常差,基本没有像 JetBrains 那样提供言简意赅的解释和恰到好处的样例代码让你快速上手。

一款专业软件令人难以上手,学习门槛极高,也是很难留存客户的。而 JetBrains 在快速入门与帮助文档的细节设计上绝对可以说是优秀至极。

4

有人问 vim 是否适应键盘操作?或者 vim 是否有在 ssh 上面直接编辑代码这种场景。最新 Java 面试题整理好了,大家可以在Java面试库小程序在线刷题。

首先是键盘适应方面,如果你有深入使用过JetBrains,其实会发现 IDEA 的纯键盘操作效率并不比vim低,你想要的所有功能都有默认快捷键,没有的话也能自己配置,并且这个配置是云端同步的。

我在公司电脑,自己的surface平板电脑和家里的游戏机上全平台同步,而且自动完成可以根据自己的coding领域习惯写自定义live template。

最后是ctrl+shift+a以及alt+enter几乎可以在任何地方完成绝大部分写代码的常用操作。我并没有觉得vim在这方面有比JetBrains的效率高多少。

另外,就是 ssh 直接编辑代码这种场景。

我认为这种场景是非常危险且不规范的做法。真正符合工程化的项目都是本地使用 IDE 编辑,IDE 的静态分析功能帮你检查出可能出错的地方,确认没问题后,用版本控制工具提交,提交过程 IDEA 会跑代码格式化,lint 规则检查,import 优化,清理 unused 代码,自动帮你做 GPG git 签名。

如果是公司或者开源组织机构的项目,还会自动帮你更新 copyright,然后做 TODO 检测,code analysis,git hook,最后 push 代码后,CI/CD平台开始跑单元测试,集成测试等,全部通过后则自动由 CI 平台通过 SSH 发布到生产环境。

如果你的代码经常需要直接 SSH 连上去直接用 vim 修改,没有经过任何工程化工具的前置处理以及 code review,那么我只能说你的项目非常不规范,开发这种不规范的项目当然体验不到 IDE 能够带来的好处。

好了,解决了这个疑惑,现在又可以继续愉快的写代码了。。

其实 IDEA 也有开源的社区版本,收费的专业版也很容易申请到免费激活码,可以参考教程:

http://www.javastack.cn/intellij-idea-by-open-source-project/

关注我,后面栈长会继续分享 IDEA 系列教程,带你打通 IDEA 的任督二脉!

Spring Boot 学习笔记,这个太全了!

23 种设计模式实战(很全)

Nacos 2.1.1 正式发布,真心强!

Spring Boot 保护敏感配置的 4 种方法!

别用 System... 计时了,StopWatch 好用到爆!

Spring Cloud Alibaba 最新实战!

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2022-08-19,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 Java技术栈 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1
  • 2
  • 3
  • 4
相关产品与服务
云开发 CloudBase
云开发(Tencent CloudBase,TCB)是腾讯云提供的云原生一体化开发环境和工具平台,为200万+企业和开发者提供高可用、自动弹性扩缩的后端云服务,可用于云端一体化开发多种端应用(小程序、公众号、Web 应用等),避免了应用开发过程中繁琐的服务器搭建及运维,开发者可以专注于业务逻辑的实现,开发门槛更低,效率更高。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档