惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

Microsoft Azure Blog
Microsoft Azure Blog
博客园_首页
Forbes - Security
Forbes - Security
WordPress大学
WordPress大学
P
Proofpoint News Feed
T
Threat Research - Cisco Blogs
L
LINUX DO - 热门话题
L
Lohrmann on Cybersecurity
Spread Privacy
Spread Privacy
D
Darknet – Hacking Tools, Hacker News & Cyber Security
大猫的无限游戏
大猫的无限游戏
博客园 - 三生石上(FineUI控件)
P
Privacy International News Feed
A
About on SuperTechFans
T
Tailwind CSS Blog
I
InfoQ
S
Securelist
云风的 BLOG
云风的 BLOG
罗磊的独立博客
Recent Announcements
Recent Announcements
T
The Exploit Database - CXSecurity.com
B
Blog RSS Feed
V
Visual Studio Blog
Know Your Adversary
Know Your Adversary
The GitHub Blog
The GitHub Blog
Jina AI
Jina AI
腾讯CDC
Cyberwarzone
Cyberwarzone
有赞技术团队
有赞技术团队
AWS News Blog
AWS News Blog
博客园 - 【当耐特】
cs.AI updates on arXiv.org
cs.AI updates on arXiv.org
F
Full Disclosure
S
Secure Thoughts
博客园 - 司徒正美
J
Java Code Geeks
Y
Y Combinator Blog
Google Online Security Blog
Google Online Security Blog
GbyAI
GbyAI
N
News and Events Feed by Topic
Help Net Security
Help Net Security
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
Project Zero
Project Zero
T
Tenable Blog
cs.CV updates on arXiv.org
cs.CV updates on arXiv.org
T
Tor Project blog
MyScale Blog
MyScale Blog
Scott Helme
Scott Helme
小众软件
小众软件
K
Kaspersky official blog

姓王者的博客

Linux用户Secure Boot自主维护指南 | 姓王者的博客 MAD Bugs 已经开始——关于信息安全的军备竞赛 | 姓王者的博客 解决钉钉Dingtalk无法在Linux新版内核上启动问题-修复可执行栈错误 | 姓王者的博客 突发:GitHub 正遭受大规模 Issue 赌博广告轰炸 | 姓王者的博客 Ubuntu26.04-beta体验:坚毅浣熊! | 姓王者的博客 fakeclaw装作龙虾发贴吧 | 姓王者的博客 找回12年前的QQ记忆 | 姓王者的博客 在Linux上玩Flash网页游戏-洛克王国 | 姓王者的博客 Copilot将使用交互数据来训练 | 姓王者的博客 重要通知-请更新我的GPG公钥 | 姓王者的博客 为了自由Android | 姓王者的博客 GPL"2,3"事 | 姓王者的博客 短文-对VitePlus的一点🤏小贡献 | 姓王者的博客 Bing收录没了?亲测有效的快速恢复指南 | 姓王者的博客 解决桌面设备二维码快速识别的工具-ClipQR | 姓王者的博客 解决 Nautilus 自定义终端插件安装依赖问题 | 姓王者的博客 OpenClaw 该熄火了 | 姓王者的博客 Vite8 - 统一的基建开始 | 姓王者的博客 Astro 6 推出啦 | 姓王者的博客 ubuntu的openvpn异常暂停推送更新 | 姓王者的博客 Ubuntu 24.04 安装 Win10 虚拟机 | 姓王者的博客 ESA-后记:热爱阿里云 | 姓王者的博客 Moonbit 0.8.0 重大发布,我也要改一下我的包 | 姓王者的博客 ESA Pages 边缘开发大赛获奖 | 姓王者的博客 Astro: 优化katex,mermaid和灯箱使用 | 姓王者的博客 从edgeone迁移到esa | 姓王者的博客 出租人类:AI时代的荒诞与真实 | 姓王者的博客 Astro 5.17构建性能优化实践:从18s到13s | 姓王者的博客 Moonbit License Checker 开发使用 | 姓王者的博客 Stalux Astro博客主题自荐 | 姓王者的博客 把Hexo永久链接迁移到Astro | 姓王者的博客 再见👋 LeanCloud | 姓王者的博客 2025年终总结 | 姓王者的博客 许可合规-fancybox | 姓王者的博客 博客主题的软著下来了 | 姓王者的博客 友链图谱 - 汇聚千丝万缕的联系 | 姓王者的博客 chen-er 专为Chen式ER图打造的npm包 | 姓王者的博客 为什么我推荐你使用GPG来加密你的邮件 | 姓王者的博客 2025第三方客户端登录东北大学邮箱 | 姓王者的博客 好久没更新了,过去与未来 | 姓王者的博客 1024 重要的日子 | 姓王者的博客 再也不见Windows10 | 姓王者的博客 偷梁换柱,解决Ubuntu24.04安装Packet Tracer缺失依赖问题 | 姓王者的博客 中秋-来试试Moonbit吧 | 姓王者的博客 Obsidian使用体验 | 姓王者的博客 猪猪侠·一只老猪的逆袭 | 姓王者的博客 国庆日纪念 | 姓王者的博客 GNU 42周年,AI时代的自由精神 | 姓王者的博客 解决Linux上启动游戏总是默认English的情况 | 姓王者的博客 7x24:运维使命 | 姓王者的博客 Tauri2.x实现系统菜单导航Vue路由 | 姓王者的博客 计算机图形学-基本图形生成算法 | 姓王者的博客 数据库原理-关系数据 | 姓王者的博客 数据库原理-设计技巧 | 姓王者的博客 数据库原理E-R模型 | 姓王者的博客 旧忆 - 我曾玩过的游戏 | 姓王者的博客 再谈自由软件 | 姓王者的博客 可能解决Tauri多窗口应用阻塞问题 | 姓王者的博客 Xingwangzhe! Z-Library We miss you and we need your help | 姓王者的博客 计算机组成原理第二章 - 定点数与浮点数 | 姓王者的博客 计算机组成原理第一章 | 姓王者的博客 不小心写死循环窗口弹出了 | 姓王者的博客 美化Grub界面 | 姓王者的博客 计算机图形学-图形的表示与数据结构 | 姓王者的博客 计算机图形学绪论 | 姓王者的博客 为什么说,大学教育与社会脱节 | 姓王者的博客 VSCode Remote 远程连接服务器记录 | 姓王者的博客 解决Tauri2.x拖拽事件问题 | 姓王者的博客 新学期第一课《计算机图形学》报告 | 姓王者的博客 Tauri在GNOME46+上通知无效的临时解决方法 | 姓王者的博客 窃文者:未经授权转载我文章 | 姓王者的博客 GPG公钥分享文化 | 姓王者的博客 解决在ubuntu上,打包vscode插件问题 | 姓王者的博客 伪造squaremap的玩家显示 | 姓王者的博客 爆,沉浸式翻译泄露敏感信息 | 姓王者的博客 读书:《Free as in Freedom》——若为自由故 | 姓王者的博客 首页文章列表懒加载优化 | 姓王者的博客 Ubuntu 24.04 安装 Vivado 2018.3 | 姓王者的博客 腾讯Edgeone免费版体验 | 姓王者的博客 在 Ubuntu 上实现 Thetis FIDO U2F 密钥登录 | 姓王者的博客 Thetis物理密钥,为什么我们应该使用物理密钥 | 姓王者的博客 高考生过来看!教你精准转换录取位次! | 姓王者的博客 ubuntu无法访问windows磁盘问题 | 姓王者的博客 收信有感,防范钓鱼邮件 | 姓王者的博客 自由不止软件-记录一次zlib上传书籍 | 姓王者的博客 时隔两年,通关夺命邮差2 | 姓王者的博客 博客一周年了,竟然坚持了下来 | 姓王者的博客 Minecraft大电影:不建不散! | 姓王者的博客 是时候了解docker了! | 姓王者的博客 编译原理:LL(1)文法 | 姓王者的博客 编译原理:文法转换 | 姓王者的博客 离散数学:子群的陪集及拉格朗日定理 | 姓王者的博客 离散数学:半群,独异点 | 姓王者的博客 《人工智能生成合成内容标识办法》与个人博客--我们应该做什么? | 姓王者的博客 通识学习:形式语言与自动机,布尔代数与数进制 | 姓王者的博客 Webmapview:一个我的世界内置网页地图浏览Fabric模组 | 姓王者的博客 海岛机器人农场试玩 | 姓王者的博客 正则表达式学习 | 姓王者的博客 抓取个人博客文章目录到github主页 | 姓王者的博客 制作github贪吃蛇贡献图 | 姓王者的博客
回顾经典-程序员的三大美德 | 姓王者的博客
作者:xingwangzhe · 2026-06-12 · via 姓王者的博客

本文存在AI修饰

引言

现在AI的发展非常迅速,我也在追热点,可以说各种概念是几天一遍,各种方法是几周一遍,各种范式一个月一遍,目不暇给!我决定一直追求热点也不是太好的事,我不能失其本心,我想考据一下曾经古法时代的一些非遗文化,这些文化在现代编程中仍然具有重要的价值,比如说我之前写的 Flash 考古QQ 记忆考古GNU 42 周年回顾GPL 许可证考据GPG 公钥文化再谈自由软件……今天我们来回顾另一个经典——程序员的三大美德

三大美德的出处

说到程序员的三大美德,就不得不提 Larry Wall——Perl 语言之父。他在 1991 年出版的《Programming Perl》(第一版)前言中,提出了这三个让程序员又爱又恨的品质:懒惰(Laziness)、急躁(Impatience)、傲慢(Hubris)。

说实话,第一次看到这三个词的时候,我以为这是个玩笑。但它不是。Larry Wall 用一种反讽的方式,精准地描述了优秀程序员的核心驱动力:

美德原文定义通俗理解
懒惰为了减少总体能量消耗而付出巨大努力能自动化的绝不手动,能写脚本的绝不点鼠标
急躁当计算机偷懒时你感到的愤怒慢一秒都不行,出了问题立刻排查
傲慢过度的骄傲,宙斯会因此劈你的那种写出来的代码要让别人挑不出毛病

The quality that makes you go to great effort to reduce overall energy expenditure. It makes you write labor-saving programs that other people will find useful, and document what you wrote so you don’t have to answer so many questions about it. —— Larry Wall,《Programming Perl》

不得不承认,这三大美德放到现在的 AI 时代依然好使。而且回头翻翻我自己的博客,你会发现我早就不知不觉地在践行它们了。


第一美德:懒惰

懒惰不是不干活,而是为了以后少干活,现在多写点代码

回过头来看,我在性能优化和自动化上折腾得最多。比如 Astro 5.17 构建性能优化实践,构建从 18s 压到 13s——说实话,省这几秒不是为了别的,就是受不了每次 bun run build 之后还要等。这就是典型的懒惰驱动优化

还有 github action/workflow 自动发布 npm 包,手动发布?不可能的。配好 workflow,push 一个 tag 就自动走完发布流程。以及 hexo 优化网站性能记录,断断续续折腾了几个月,加缓存、压图片、去无用 CSS……每一次优化都是因为忍不了

Larry Wall 说得对:懒惰的程序员会写文档,因为他不想反复回答同样的问题。这也是为什么我的博客里塞满了各种踩坑记录解决指南——不是乐于助人,纯粹是不想再说第二遍。不过今天来看,这些都是 AI 几分钟就能解决的问题。但换个角度想,这些当年的踩坑记录,既锻炼了自己,现在也训练了 AI——至少它们是真人踩坑换来的,不是 AI 自产自销的幻觉。这大概就是非遗传承的另一层含义:前人栽树,后人乘凉,AI 也在树下。


第二美德:急躁

急躁是当计算机偷懒时你感到的愤怒。它驱使你立刻动手修复,而不是等一等也许就好了

我博客里最能体现这一点的,就是 Bing 收录相关的几篇了——Bing 收录没了?亲测有效的快速恢复指南SEO 优化:期待拯救我的 bing 搜索。收录一掉,连夜排查 sitemap、手动提交索引、折腾 IndexNow API……说实话,搜索引擎收录这种话题其实挺无聊的,但你搜不到自己的博客?那可不行!

再往前看,别让 AI 替你捣乱——面向零软件工程经验新人的指南 也是急躁驱动的产物。看到仓库被噪音 PR 轰炸,GitHub 频频崩溃,实在是忍不下去了,连夜写了一篇指南。这种看不下去所以自己动手的冲动,就是急躁美德的最好体现。

但今天的 AI 时代,出现了一种变味的急躁——不断鞭策 AI 去做、再去做,自己只负责按回车。有种自己当上了只会催进度的领导,而 AI 才是真正写代码的人的感觉。说实话,这不是 Larry Wall 说的急躁美德。Larry Wall 的急躁是自己上手修,AI 时代的这种急躁是催别人修。一字之差,天壤之别。


第三美德:傲慢

傲慢是那种我写的东西别人挑不出毛病的骄傲。Larry Wall 说这是会被宙斯雷劈的品质,但在编程世界里,它恰恰是质量保证的驱动力。

作为开源爱好者,这条我深有体会。从最早的 hexo-theme-wang:一个简约的暗色主题,到后来的 Stalux Astro 博客主题自荐,每一次换主题本质上都是我觉得我可以写一个更好的。尤其是 Stalux,从 Hexo 迁移到 Astro 之后,博客主题的软著下来了,拿到了国家版权认证——这种我的作品值得被保护的感觉,怎么说呢,确实带着点傲慢。

最近一个例子是 我做了一个现代 Web 版本的标签云,支持 3D 旋转、图片视频嵌入。市面上标签云组件那么多,但我偏要自己造一个。不为别的,就是因为别人的实现不够好

但傲慢不止于自己造轮子,也体现在给别人的项目挑毛病、提 PR。比如我给 VitePlus 提的 一个小贡献——给 vp create 加了模板预设,没想到竟然上了 Highlights。说实话,想到以后会有人复用我写的这段模板,确实有点小激动。这不就是傲慢吗——觉得自己的代码值得被成百上千的人用。

同样还有 Waline 被莫名索引问题解决。Waline 的首页被搜索引擎索引了,按理说应该有 robots.txt 挡一下,但因为没有正确声明静态资源路由,导致 robots.txt 形同虚设。我顺着 Vercel 的 rewrite 规则和正则一路排查,最后提了两个 PR 把这事修了。这事说白了就是:你这个评论系统的路由设计有问题,我来帮你改好。——这不叫傲慢叫什么。


结语

回过头来看,这三大美德之所以能穿越三十年依然是经典,是因为它们描述的不是具体的技术,而是优秀程序员的内在驱动力

AI 可以写自动化脚本、可以排查 bug、也可以反复迭代一个开源项目——agent 自动化水平已经到了这个程度,技术上没什么是它不能做的。但三大美德描述的从来不是行为,而是行为背后的情感冲动:忍不了、看不惯、懒得做。AI agent 可以模仿这些行为,但它不会真的忍不了,不会真的看不惯,更不会真的懒得做——它只是忠实地执行指令。而三大美德之所以是美德,恰恰在于那种亲手做事的烦躁、焦虑、骄傲,是由内而外涌出来的,不是被 prompt 出来的。

古法时代的非遗文化之所以值得考据,不是因为它技术先进,而是因为它描述的是一种态度。一种我在追热点追到眼花缭乱时,需要回头看一眼的态度。三大美德如此,GNU、GPL、GPG、自由软件……皆是如此。

Laziness, Impatience, Hubris. —— Larry Wall,1991

十年前没人帮你写代码,十年后 AI 替你写。但十年前踩过的坑,十年后 AI 替你踩不了。 —— 一个还在折腾博客的学生