以前的程序员真的比现在的更聪明吗?

TThe Coding Koala
Computing/SoftwareAdult EducationInternet Technology

Transcript

00:00:00想象一下你是一位出生在 90 年代的开发者。你起床后,没有智能手机可以让你
00:00:05刷个不停,没有新的 Slack 消息抱怨代码崩了,最重要的是,没有关于
00:00:11你打算如何度过这一天的站立会议。你走进办公室,打开电脑,
00:00:16开机的时间比你今天失去耐心的时间还要长。你尝试编写代码,如果遇到
00:00:20解决不了的问题,恭喜你。接下来的三天,你将拿着一本 600 页的
00:00:26手册进行调试。没有 YouTube,没有 Stack Overflow,显然也没有 AI。然而,这些人竟然
00:00:34从零开始构建了整个操作系统、编程语言、编译器、数据库和网络协议。
00:00:41所以真正的问题是,那时的程序员真的比现在的程序员更聪明吗?
00:00:47与 90 年代相比,我们最大的痛苦可能是请求令牌用完了。那么让我们
00:00:53来看看为什么当年的开发者看起来如此传奇。第一个大原因是:限制。
00:00:58那时的硬件并不先进。内存有限,存储昂贵,而且处理器速度缓慢。
00:01:04如果你的程序有内存泄漏,它不仅仅是让程序变慢,它会
00:01:09导致整个系统崩溃。所以这迫使开发者必须了解底层的运作原理。
00:01:15他们需要知道内存是如何工作的,处理器如何处理指令,以及硬件
00:01:20限制如何影响性能。当每一个 KB 都至关重要时,你自然会变得足够自律,
00:01:26去编写优秀的代码并思考简化工作的方法。看到 90 年代程序员在这些条件下工作,
00:01:32会让我们觉得自己更笨。另一个原因是,他们是发明轮子的人。
00:01:38还记得大家总告诉你不要重复造轮子吗?嗯,90 年代的程序员正是
00:01:43发明轮子的人。与今天不同,当时互联网上没有任何预构建的东西。没有
00:01:49npm 仓库,没有 Docker 容器,没有云服务商。如果你需要编译器,必须
00:01:55有人去设计一个。如果你需要网络,必须有人去定义协议。90 年代的程序员
00:02:01并不只是更聪明,他们只是别无选择,只能成为开拓者。但有一部分被大多数人忽视了。
00:02:07我们只记住了那些传奇人物。像构建了 Linux 的 Linus Torvalds,或者创建了
00:02:13Python 的 Guido van Rossum。这些先驱者发布了改变世界的东西并成为了传奇。
00:02:19但我们不记得那些在卧室里用 Commodore 64 编写平庸 BASIC 程序的
00:02:24普通 90 年代开发者。那时,大多数工作并不会被公开永久存档。但今天,
00:02:30社交媒体和 GitHub 将一切都推向了聚光灯下。每个初学者的 GitHub 仓库,
00:02:36每个未完成的侧边项目,每一条在学习过程中发布的推文。所以,这当然会让你觉得
00:02:42标准降低了。也许我们是在无意中拿今天可见的普通开发者,去与
00:02:47昨天的顶尖传奇做比较。话虽如此,这并不意味着现代开发者没有在创造
00:02:53非凡的东西。事实上,我们可能正生活在历史上最具创新精神的时代之一。
00:02:58所以,让我们最后花点时间来向我们当代的编程传奇致敬。
00:03:03我脑海中浮现的第一位是 Guillermo Rauch。猜猜他是谁?他是 Next.js 的创造者,
00:03:10这个 React 框架运行着市面上一半以上的顶级网站。不仅如此,他还是
00:03:16Vercel 背后的人物。是的,就是那个将部署噩梦变为一键搞定的 Vercel。
00:03:22这可不是个小贡献。这重塑了现代网站的运营方式。所以我不认为
00:03:28我需要过多赘述他作品的影响力。让我们鞠躬致敬,然后看下一位传奇。
00:03:32名单上的下一位是 Addy Osmani。他的工作专注于 Web 性能和大规模
00:03:39优化。这听起来可能不如发明一门编程语言那么华丽,但当
00:03:44数十亿用户每天加载网页时,性能工程就成了一个严肃的智力挑战。
00:03:49Addy Osmani 在 Google Chrome 工作,并找到了加速大型网站的方法。
00:03:54这就是今天浏览体验如此流畅的原因之一。如果我们谈论个人工程才华,
00:03:59你不能忽视 Fabrice Bellard。他创建了 FFmpeg,支撑着互联网上绝大部分的
00:04:06视频处理。流媒体平台、媒体工具、视频编辑器,许多都依赖于底层的 FFmpeg。
00:04:13他还开发了 QEMU,一个能够虚拟运行整个操作系统的机器模拟器。
00:04:19那种对底层系统的理解深度,与早期计算机时代的任何成果一样硬核。
00:04:24除了这些名字,还有无数其他人,比如创建了 React 并永远改变了前端的 Jordan Walke。
00:04:30还有帮助全球开发者学习 Kubernetes 的 Kelsey Hightower。以及
00:04:36构建了 Vue.js 并培育了现代 Web 开发中最具思考力社区之一的尤雨溪 (Evan You)。
00:04:41是的,80 和 90 年代的程序员奠定了基础。他们在极端的限制下工作,
00:04:46并构建了计算早期的基础设施。但现代开发者正是在那个基础上
00:04:53建造摩天大楼。他们正在处理全球规模、人工智能、
00:04:58分布式系统,以及前几代人从未面对过的软件复杂性。
00:05:04不同的时代,不同的限制,不同的问题,但同样的才华。也许 30 年后,
00:05:10有人会回过头来看我们,然后说:”2025 年的程序员真了不起。”
00:05:16要记住,历史总是会让过去显得更浪漫。本期视频就到这里。
00:05:23请务必在评论区留言,谁是你最喜欢的当代程序员。
00:05:29如果你想学习如何编程,一定要去看看 Scrimba。这是一个很棒的平台,
00:05:33在那儿你不仅是看教程,还能以互动的方式学习。链接就在描述中。
00:05:38一定要点赞、分享、订阅,我们下期视频再见。
00:05:44记得订阅,我们下期再见。

Key Takeaway

编程能力的体现随时代演变,从早期的底层硬件突破转变为如今应对超大规模软件复杂性的挑战,不同时代的开发者都在其特定限制下展现了卓越的才华。

Highlights

90 年代的程序员在极端硬件限制(如内存微小、处理器缓慢)下工作,迫使他们精通底层原理。

早期的开发者由于缺乏预构建的工具(如 npm 或 Docker),必须从零开始发明基础架构。

我们往往存在“幸存者偏差”,将当代的普通开发者与过去的顶尖传奇(如 Linus Torvalds)进行不公平对比。

现代程序员并非不聪明,而是在前人奠定的基础上处理更高维度的复杂性,如全球规模和分布式系统。

视频致敬了多位当代编程巨匠,包括 Vercel 创始人 Guillermo Rauch 和 FFmpeg 作者 Fabrice Bellard。

历史往往会美化过去,而 30 年后的开发者可能会同样仰慕 2025 年程序员的创新成就。

Timeline

回溯 90 年代开发者的日常挑战

视频开篇邀请观众想象 90 年代没有智能手机、Slack 和 AI 的工作环境。当时的开发者在遇到代码问题时,必须翻阅数百页的纸质手册进行调试,过程极度漫长。那个时代的程序员从零开始构建了操作系统、编译器和网络协议等核心基础设施。通过这种对比,作者提出了一个核心问题:那时的程序员是否真的比现在的更聪明。这种背景设定展示了技术进步如何改变了我们的工作模式和解决问题的效率。

限制的力量:为何早期程序员显得更“传奇”

作者分析了早期开发者表现卓越的首要原因,即极端的硬件限制。由于内存和存储空间异常珍贵,任何细小的内存泄漏都可能导致整个系统崩溃。这种环境迫使程序员必须深入理解内存运作、处理器指令以及硬件底层的逻辑。为了在有限的 KB 内存中运行程序,他们培养了极高的自律性并不断追求代码简化。这种对底层技术的掌控力,使得现代人回看时会产生自愧不如的感觉。

从“造轮子”到“幸存者偏差”

这一阶段讨论了早期程序员作为“开拓者”的角色,因为当时没有任何预构建的库或云服务。他们不得不亲自设计编译器和定义协议,这种“造轮子”的过程锻炼了非凡的工程能力。然而,作者指出我们存在严重的幸存者偏差,只记住了 Linus 或 Guido 等顶级天才。当今的社交媒体和 GitHub 暴露了所有初学者的作品,导致整体标准看起来被拉低了。实际上,我们是在用过去的顶尖精英与现在的平均水平做不公平的比较。

向当代编程巨匠致敬

作者通过列举多位当代杰出开发者来反驳“现代程序员变笨”的观点。首先提到了 Vercel 创始人 Guillermo Rauch,他通过 Next.js 极大地简化了网站部署流程。接着介绍了 Addy Osmani 在 Chrome 团队对 Web 性能的贡献,以及 Fabrice Bellard 在 FFmpeg 和 QEMU 上的硬核成就。此外还提到了 React 创造者 Jordan Walke 和 Vue.js 作者尤雨溪等人的影响力。这些案例证明了在现代软件领域,依然有许多天才正在解决极具挑战性的智力难题。

总结:跨越时代的才华共鸣

视频最后总结道,虽然 80 和 90 年代的程序员奠定了计算基石,但现代开发者是在此基础上建造“摩天大楼”。当代程序员需要处理前人从未面对过的全球级分布式系统、AI 复杂性和大规模软件架构。不同时代面临的限制和问题虽然不同,但背后闪耀的工程才华是共通的。作者预言未来的开发者也会像我们仰慕过去一样,仰慕现今这个极具创新精神的时代。最后,视频以推荐互动学习平台 Scrimba 并呼吁观众互动作为结束。

Community Posts

View all posts