我们 30 年前用过的 IDE
对 Borland 的 Turbo Pascal 以及其他 80 年代到 90 年代文本模式 IDE 的怀旧,引发了对今天工具与那些早期、紧密集成环境的更广泛比较。评论者从启动速度、调试器、GUI 构建器、远程工作和可配置性等方面,将 Visual Studio、JetBrains IDE、VS Code、Vim/Emacs 和 Eclipse 等现代工具与旧式 TUI 进行对照,常常认为虽然功能更丰富了,但可用性、性能和整体一致性未必同步提升。许多人最终认为,语言服务器和强大的图形界面确实带来了明显收益,但经典 IDE 那种简单、响应迅速、且“一应俱全”的感觉,至今仍基本无可替代。
讨论范围
- 该线程回顾了 80 年代到 90 年代的 IDE(尤其是 Borland/Turbo),并将它们与现代 IDE、编辑器和工作流进行比较。
- 主要子主题包括:GUI 与 TUI IDE、Eclipse/NetBeans/JetBrains/VSCode 争论、Vim/Emacs 文化、远程开发、调试,以及像 Delphi/VB6 这样的 RAD GUI 构建器。
Borland、Turbo Pascal/C、Delphi 和老派 IDE
- 许多人记得 Turbo Pascal/C/C++ 非常快、直观、对初学者友好,并且有出色的集成调试器和手册。
- Delphi 和 VB6 反复被提及为 RAD GUI 工具的巅峰;人们认为构建原生 GUI 比今天的 Web/移动端技术栈快得多,也简单得多。
- FoxPro、PowerBuilder、QBasic、THINK C、CodeWarrior,以及各种 Amiga/C64/Atari 工具,也被记作强大且高度集成的环境。
- 还有几个人提到,内容详实、写得很好的纸质手册和离线文档,比今天依赖代码片段的网页文档更能建立扎实的 ذهن模型。
被“遗忘”的高级 GUI IDE(Smalltalk、Lisp、NeXT 等)
- 评论者认为文章低估了 GUI IDE:Smalltalk 系统、Interlisp-D、Mesa/Cedar、Lisp Machines、EiffelStudio、NeXT Interface Builder、Symbolics Genera,以及早期 Mac IDE,都被描述为在集成和实时工具方面领先了几十年。
- 有人声称,类似 Smalltalk 的系统一直是最先进的 IDE 体验之一,具有基于镜像的工作流和丰富的检查器。
Eclipse、NetBeans、JetBrains、VSCode 和现代 IDE
- 对 Eclipse 的看法分裂明显:
- 支持者:称其高效、功能丰富、近年来稳定,拥有强大的索引、LSP、出色的 C++ 支持和可复现工作区;有些人还在使用基于 Eclipse 的厂商 IDE。
- 批评者:记得它臃肿、缓慢、插件地狱、维护痛苦;很多人转向 IntelliJ 或 VSCode 后“再也没回头”。
- NetBeans 被不少人怀念,尤其是在 Java、Swing GUI builder 和性能分析方面;也有人觉得它在 Oracle 之后,或作为 Apache NetBeans 之后走下坡路了。
- JetBrains 的 IDE(IntelliJ、CLion、RubyMine 等)因深度静态分析、重构能力以及与生态系统“开箱即用”的集成而广受赞誉;很多人把内存占用看作强大功能的代价。
- VSCode 在一些人看来只是“穿着 IDE 外衣的文本编辑器”,但它在 UX、扩展,尤其是远程开发方面胜出;另一些人则不喜欢它的模型、Electron 开销或人体工学。
- 关于深色模式和美学也存在分歧:
- 有人认为 IntelliJ 和 VSCode 部分是因为更早提供了好看的深色主题而“赢了”。
- 也有人坚持,功能和性能远比主题重要。
Vim、Emacs、Neovim、Helix 和编辑器哲学
- 许多人长期使用 Vim/Emacs,并重视:
- 模态或以键盘为中心的编辑、宏、可组合命令。
- 普遍可用性(尤其是在 SSH、服务器上,以及在拥有自定义工具的大公司里)。
- 可扩展性,以及长期存在的开源社区的力量。
- 另一些人,尤其是在职业中期,表示自己没有时间或精力去精通 Emacs/Vim;他们更喜欢开箱即用的 JetBrains/VSCode/Visual Studio。
- LSP/DAP 被视为具有变革性的技术,把“IDE 级别”的补全、导航和重构带入通用编辑器(vim、emacs、Helix 等)。
- 对于是否值得通过插件把 Vim 变成完整 IDE 也存在争论:配置和故障是否值得,还是直接使用带 Vim 键位绑定的专用 IDE 更好。
远程开发:TUI vs VSCode Remote
- 一派认为 TUI 编辑器 + SSH + tmux 在远程工作方面无可匹敌,尤其是在低带宽或受限环境中。
- 另一派强烈偏好 VSCode 的远程模式(前端本地、后端远程),理由包括:
- 光标移动和选择在本地处理,避免往返延迟。
- 异步保存/构建、更好地集成本地操作系统功能,以及更容易使用的 UX。
- 讨论中还提到了 Emacs TRAMP、SSHFS/FUSE、mosh 和远程终端作为替代方案;有人觉得 TRAMP 在大规模场景下太慢或太脆弱。
- 关于 X11 风格远程 GUI 与 VSCode 远程协议的比较展开了长篇讨论;几个人强调,VSCode 避免了经典远程 GUI 中每次按键都要往返通信的老问题。
调试与工具质量
- 许多人觉得,与集成式 DOS/Windows IDE 相比,Unix/Linux 上的调试能力退步了:
- gdb 很强大,但被认为笨重;有人怀念简单、集成的可视化调试器。
- Visual Studio 和 Xcode 仍被视为拥有一流调试器和工具链。
- 还提到了老牌商用 Unix 工具(dbx、DDD、Sun/Solaris IDE),它们在历史上很优秀,但如今大多被遗忘了。
RAD GUI 构建器及其衰落
- 几个人遗憾地表示,如今没有什么能在快速构建带数据绑定、运行时实时设计数据和组件生态的原生桌面 GUI 方面,匹配 Delphi/VB6(及类似工具)。
- Lazarus/FreePascal 被视为精神继承者,但:
- 在视觉“花哨程度”和 UX 预期上落后于 Web 技术。
- 文档和打磨程度被认为较弱;有人担心该项目正在停滞。
- 也有人指出,跨平台复杂性、安全与部署方面的顾虑(以及向 Web/移动端的转移)促成了“VB/Delphi 风格” RAD 的衰落。
文化、FAANG 和“基于终端”的工作流
- 几个人把 FAANG 风格、服务器密集型开发与以下特点联系起来:
- 偏好终端工具(Vim/Emacs、CLI 构建系统)。
- 内部自定义工具、构建系统和语言,在这些环境中可迁移的编辑器很有价值。
- 常见建议是“选一个编辑器,然后深入使用”;也有人补充说“选一家允许你使用自己编辑器的公司”。
- 另一些人认为 IDE 仍然没有得到充分使用,人们只坚持终端工具会“错过很多”。
文档、手册与学习
- 人们怀念厚重的纸质手册和自包含文档,它们会解释概念,而不只是给出做法。
- 许多人批评现代文档过于步骤导向(“先做 X,再做 Y”),而没有建立领域模型;这被视为助长了复制粘贴式编码。
- 有人回忆自己曾被要求从内部文档里删掉“为什么”的解释,以免“让读者困惑”,并认为这让文档更糟了。
UI、可访问性与细小的 UX 细节
- 几个人抱怨现代极简滚动条(很细、自动隐藏),尤其是在触屏设备上或从可访问性角度来看;他们更喜欢旧式那种可见、粗大的滚动条。
- 总体感觉是,美学和“赶潮流”的设计有时在现代工具中压过了可用性和信息密度。
整体进步感
- 结论是复杂的:
- IDE 的功能(静态分析、重构、跨语言 LSP、某些平台上的调试)被认为比以往更强大。
- 但许多人觉得,80/90 年代工具中的某些品质——速度、一体化、可调试性、RAD GUI 构建、简洁性和强文档——已经丢失,或者在如今碎片化、更沉重的生态中更难找到。