国内怎么就做不出 JetBrains 那样的产品?

Klipper-源码模块 Klippy上位机程序采用多线程架构,包含四个主要进程:主线程处理G代码命令、串口IO线程(C语言实现)、MCU响应处理线程(Python实现)和独立日志线程。代码结构分为三大模块:chelper(C语言辅助函数)、extras(扩展功能如温度控制)和kinematics(运动学模型实现)。核心功能模块包括串口通信(serialhdl.py)、步进电机控制(stepper.py)、运动学计算等,其中C语言实现的底层模块通过serialqueue.c处理高效IO。扩展模块支持热床、传感器等外设,运动学子模块提 阅读详情

欢迎关注方志朋的博客,回复”666“获面试宝典

最近在知乎上看到有人提问:

d2d7a4c44783511f608ca6f7595b1082.png

无意间,发现了一个很有意思的回答,下面跟大家分享下。

来源:https://www.zhihu.com/question/537774494/answer/2534015588

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

在这么多年的学习编程和使用 JetBrains 全家桶的过程中,我认为 JetBrains 的成功不仅仅是技术原因,还有的是产品上面的创新,而这些创新都离不开大型软件工程的实战经验,因为只有经历过大型软件工程的开发与不断迭代过程,才知道一款优秀的 IDE 里面需要什么功能,哪些功能能够帮助程序员高效地开软件。

网传 JetBrains 的 IDEA 系列最早的 “杀手锏” 功能是 refactor (rename)重构功能。例如在 IDEA 中你可以使用 Shift+F6 快速将一个变量改名,并且这个改名操作将应用到所有 引用了该变量的代码。这就需要 IDEA 对整个项目中的所有代码做 parser,追踪他们之间的引用关系。这类功能的背后离不开强大的代码静态分析技术。

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

06380d558c944e46a8757ec72bcd94af.png

IDEA 的强大远不如此。它的功能包括但不限于

  • 图形化 debug

  • 图形化 git 操作,一键 rebase

  • 代码结构梳理,也就是左下角那个 structure 功能区(自从用过 CLion 之后我在也没用过 source insight 了)

  • 代码收藏,同样对 trace code 友好

  • 和各大主流框架和编程语言的紧密结合(例如 WebStorm 对 npm 有极为强大的支持,能够分析 scripts 和 .nvm 自动选择合适的 node.js 版本启动 script,能够自动分析 node_modules 判断当前依赖是否匹配 package.json 等)

  • 最新推出的 code with me 功能,在疫情远程工作的大背景下,这个功能能够方便同事之间在无法物理接触的情况下进行手把手 debug

  • generator(例如 JavaBean 中的 getter setter 方法可以一键生成),也可以配置 live template 和 file template,例如我写 React.js 的时候经常会有很多重复性的样板代码,例如 const {children} = this.props,这个我就配置为 cctp,我只要按下 cctp 再按 tab 就能快速输入更多功能就不说了

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

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

  • 有极长 coding 经验的人没有国外那么多,大部分是在 2010 年之后的互联网红利开始才学习 coding 的,甚至很多是生化环材转码。人少,那么诞生出这些天才产品经理的几率也更少

  • 大部分人还是有一种 “勤劳的守旧” 观念,也就是认为使用工具提升生产力是一种偷懒和投机取巧的表现,推崇使用 vim 等高门槛和学习曲线陡峭的软件是一种 “技术能力强”,“能吃苦学习” 的习惯。

  • 优秀的产品经理需要跨界经验,例如 JetBrains 的产品经理肯定不仅仅是画个原型图和写个 PRD 那么简单,这些都需要深入一线软件行业,掌握大量工程师人脉,和非常多的软件工程师交流,了解他们真正需要什么。站在他们的角度思考一款优秀的 IDE 应该要给我带来什么样的功能。国内 一些 PM 论坛的交流内容还是以互联网 APP 产品为主,这类产品的 PM 还是停留在学校学学 UI 设计,出来跟着 “人人都是产品经理” 的网课学学做 PPT 画原型图写 PRD 的水平。PM 的上限水平过低,缺乏垂直行业的经验与人脉导致了做不出顶级的工业软件缺乏工程师文化。

  • 所谓工程师文化,指的就是产品进步是由工程师推动,工程师使用科学技术提升产品的用户体验,可靠性,安全性等。由于各种环境原因。真正拥有 “工程师心态” 在人群中还是偏少数,抱有 “功利心” 去读书刷 GPA,去工作刷 KPI ,很难诞生优秀的专业软件。缺乏工程师文化的根本还是和经济基础与分配平衡有关,经济基础过差的情况下,大家会更容易选择保守,保守则不容易引发对创新的思考。而分配平衡过差,则会导致 “工程师” 们更倾向于使用 “技巧” 去内卷抢得少数资源,而非使用 “科学技术” 去创造更多资源与价值。

  • 奶粉钱,产假,房价,教育公平,没有好的环境就留不住顶尖的工程师与专业的产品经理,知乎都说烂了的事情就没必要提了。。。

做工业软件,最好就需要是这个领域的工程师直接转行来做工业软件的产品经理,因为只有自己行业的人才最了解自己人。而我们的现状是连抱有工程师思想以及拥有工程师文化的公司都非常稀少,更别指望真正的工程师们在拥有丰富经验之后转行 PM ,然后设计优秀的工业软件帮助我们加速生产效率,解放生产力。

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

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

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

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

1dd98f0aa9e4a3b5ebf1abae4ab9ce94.png

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

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

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

评论区也有人讨论 vim 是否适应键盘操作?或者 vim 是否有在 ssh 上面直接编辑代码这种场景。

首先是键盘适应方面,如果你有深入使用过 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 能够带来的好处。

热门内容:

 

f166183a1017ea4b8cc43b7ddf15cb65.jpeg


 
最近面试BAT,整理一份面试资料《Java面试BAT通关手册》,覆盖了Java核心技术、JVM、Java并发、SSM、微服务、数据库、数据结构等等。
获取方式:点“在看”,关注公众号并回复 666 领取,更多内容陆续奉上。

明天见(。・ω・。)ノ

【AI黑话日日新】Day 010|System Prompt(系统提示词) 系统提示词不是给模型加能力的咒语,而是开发者写下的“行为宪法”——它定身份、划红线、约格式,但终究要配护栏才站得住。 阅读详情

相关推荐

openHarmony之AI Engine:万字讲解如何在应用、开发板上接入AI大模型调用

本文章介绍如何在 OpenHarmony 开发板上集成和部署各类 AI 大模型,实现终端直接聊天功能,并为语音助手、智能机器人等应用提供 AI 接口支持。

m0_67505153的博客 589

为什么国内不出 JetBrains 那样的产品

知乎上有一个提问:图片分享一个很有意思的回答。作者:昌维 | 来源:https://www.zhihu.com/question/537774494/answer/25340155881我是一名 JetBrains 的忠实粉丝。我学习编程语言的经历大概有 10 年左右,使用 JetBrains 大概有 7 年左右。在这么多年的学习编程和使用 JetBrains 全家桶的过...

程序猿DD 407

opengl显示汉字

可以在opengl下很好地显示汉字,包括3D文字等

为什么国内不出 JetBrains 那样的产品呢?

知乎上有一个提问:分享一个很有意思的回答。1我是一名 JetBrains 的忠实粉丝。我学习编程语言的经历大概有 10 年左右,使用 JetBrains 大概有 7 年左右。在这么多年的学习编程和使用 JetBrains 全家桶的过程中,我认为 JetBrains 的成功不仅仅是技术原因,还有的是产品上面的创新。而这些创新都离不开大型软件工程的实战经验,因为只有经历过大型软件工程的开发与不断迭代过程,才知道一款优秀的 IDE 里面需要什么功能,哪些功能能够帮助程序员高效地开软件。网传 JetBrains

资料免费分享,点击名片 307

(论文速读)EDiT:用线性压缩注意力加速扩散 Transformer

本文提出了一种高效扩散Transformer架构EDiT,通过创新的线性压缩注意力机制解决传统DiT在生成高分辨率图像时的计算瓶颈。EDiT采用卷积增强的线性注意力(ConvFusion+SpatialCompressor)处理图像自注意力,同时为多模态场景设计混合注意力方案,仅对图像-图像交互进行线性化处理,保留文本相关交互的标准注意力。实验表明,EDiT在PixArt-Σ和Stable Diffusion3.5-Medium上实现高达2.2倍的加速,同时保持接近原始模型的生成质量。该方法的核心创新在于针

LJ1147517021的博客 206

83.85% vs 17.91%:FormStruct-Bench 揭开表单解析的错觉

文章摘要 FormStruct-Bench论文提出了一个针对表单类文档结构识别的新型分层评测基准,解决了传统方法在结构化评估上的不足。研究团队通过"导演-美术-质检"的合成流程构建了7,000个带精确标注的表单实例,并设计了分层评估指标,包括内容读取(Value-nED)、结构重建(Schema-nED)和路径正确率(TSR-path)等。实验结果显示,当前最佳系统在内容读取上达到83.85%,但结构路径正确率仅17.91%,区域检测和关系识别指标更低。研究表明,视觉退化主要影响结构绑定而非内容识别,且合成

liferecords的博客 658

WAIC论坛现场|网易智企分享企业AI“上岗之路“

在世界人工智能大会(WAIC)2026上,网易智企举办了"用可信AI构建企业新智生产力"专题论坛。会上,网易智企副总经理段毓铮带来了题为《从能聊、到能干、到越干越好:企业AI的上岗之路》的演讲,抛出了一个核心观点:不把AI当工具,而是当作"AI员工"来看待。

weixin_43099039的博客 203

如何借助 AI 实现自动化测试:让 Agent 帮你写测试、跑测试、修测试

上下文工程优先:维护(页面结构、账号、业务规则),AI 输出质量立竿见影;AI 生成 + 人审 + 入库:测试代码是资产,必须 code review,禁止「AI 跑完就当真」;定位器纪律:全程getByRolegetByLabel,从源头减少失效;分层使用:单元/接口测试用传统框架,UI 探索性测试用 Agent,回归用固化脚本;成本控制:批量生成用便宜模型(DeepSeek / 本地 Ollama),关键修复用强模型;安全红线:测试 Agent 只能连测试环境;

篮球界最会写bug的人;程序猿中打球最菜的人。 586

Alexa Fluor568标记豌豆凝集素,适配多色荧光成像体系的橙红通道标记需求

AF 568 PSA是将Alexa Fluor568橙红荧光基团与豌豆凝集素(Pisum sativum agglutinin,PSA)定向偶联制备的糖链靶向特异性荧光探针,完整保留豌豆凝集素对α-甘露糖、α-葡萄糖的高亲和力识别特性,依托Alexa Fluor568染料优异的光学性能,在578nm处呈现明亮的橙红特征发射荧光,荧光亮度高、抗光漂白性能优异,是多色荧光标记体系中橙红通道靶向标记α-甘露糖/α-葡萄糖糖链的经典科研工具。(上述信息均由陕西新研博美生物科技小编木木所整理)性能参数与核心优势‌。

2601_96201972的博客 357

工业级温控机组赋能数据中心与ICT基础设施低碳化运营

阿尔西在全球布局的三大制造基地为工业级温控机组的产能协同提供了坚实保障,各基地在工业冷水机、医疗制冷、3D打印技术、组装、钣金、焊接等环节形成专业化分工与技术互补。阿尔西集团凭借近三十年的技术积累,将工业级温控机组的应用边界从传统制造业拓展至超大规模数据中心、电信基础设施及边缘计算场景,为全球ICT行业提供从芯片级到系统级的全方位温控解决方案。包括针对边缘计算场景的水平式整装空调型工业级温控机组,以及适用于中大型数据中心的远程温控型工业级温控机组,制冷能力覆盖多种规格,在保证可靠性的同时实现高效运行。

Jay150124的博客 334

AI网关和API网关区别在哪?MAI Gateway统一治理方案深度解析

API网关转发请求,不关心内容。AI网关处理消费,不只转发。这是两类网关的根本区别。调用方不需要知道服务在哪,网关负责路由。请求体内容在网关层透传,网关不碰。企业要知道AI调用的内容安不安全、花了多少钱、归谁的部门、模型说了什么。请求体内容在网关层被检查、脱敏、计费、记录。差异的根源在于:大模型调用是按次消费,每次调用花钱;传统API调用是基础设施服务,部署了就能用。

youdiyunan的博客 295

AI编程实战:让 AI 写测试,一次到位

本文介绍如何利用AI生成高质量的Python单元测试(以pytest为例)。关键步骤包括:1)使用结构化Prompt模板指定测试要求;2)通过三类输入(正常、边界、异常)确保覆盖全面;3)采用"改坏代码"法验证测试有效性。文章强调测试需满足:断言具体、行为导向、能捕获错误。文末提供实践作业,并预告下期将探讨AI生成文档的技术。全文150字,完整呈现AI测试生成的核心方法论。

用沸腾的热血,支付我们的人生吧! 276

织信开发日志 17:织信 Skill 的目的,是把平台能力交给 AI Agent

织信 Skill 的核心价值,不是让 AI 说得更像产品经理,也不是让 AI 写出更漂亮的需求文档。 它的价值是把织信的平台能力变成 AI Agent 可调用的工具集。

iori97king的专栏 642

AI Agent 技术架构深度解析与选型指南

AI Agent代表了企业AI应用从"问答"到"任务执行"的关键跃迁,也为管理软件行业带来了新的产品可能性。用友YonClaw、金蝶灵基等企业级AI Agent产品的推出,标志着国产管理软件在AI Agent方向的正式布局。对于企业而言,理解AI Agent的技术架构与能力边界,是出正确选型决策的基础。本文面向技术架构人员与IT管理者,供技术评估参考。

likeylau的博客 318
上一篇: ElasticSearch 使用 High Level REST Client 实现搜索等功能实战
下一篇: 教你优雅的实现 SpringBoot 并行任务
公众号:方志朋
博客等级 码龄5年 307粉丝 94原创
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值