工具与资源benkuhn.net
我反复回味的编程随笔
Essays on programming I think about a lot
2020 — 2024,它一次次回到首页
黑点是上首页(≥ 50 分)的那次投稿,空心点是没冲上去的投稿,点越大分数越高。
导读
这是 Ben Kuhn 整理的一份编程文章清单,收录他反复回想、认为影响深远的编程随笔与文章。清单中的篇目涉及抽象、程序作为理论构建等经典主题,评论也补充了若干同类推荐。
为什么经久不衰:它把经过多年讨论仍被反复引用的编程思想集中成一份可读清单,适合今天用来校准自己对软件复杂性和抽象的理解。
HN 评论精选
补充推荐《Simple Made Easy》,虽非文章但影响极大。
可惜《Simple Made Easy》是视频/演讲而不是文章,但它是对我影响最大的一个软件论点。
nordsieck查看英文原文
Sadly it's a video/presentation, not an essay, but Simple Made Easy[1] is the single software argument that has made the most impact on me. ___ 1. https://www.infoq.com/presentations/Simple-Made-Easy/
推荐 Naur 的文章,强调程序是团队对业务领域的心智模型。
我读了 Peter Naur 的《Programming as Theory Building》,觉得很好。当时工作中的关键挑战不是技术,而是让分散在大量功能中的简单技术始终符合对业务领域的一致愿景。程序成了我对业务领域心智模型的实现;Naur 的文章正好说中了我写代码时在做的事,也说中了其他开发者要长期维护代码必须知道什么,以及我加入时应用已经丢失的那类知识。
sbuttgereit查看英文原文
I read Peter Naur's "Programming as Theory Building" and thought it quite good. http://pages.cs.wisc.edu/~remzi/Naur.pdf At the time I found it I was was working where the key challenge was not so much technical as much as ensuring that simple technology, spread across a large breadth of functionality, adhered to a consistent vision of the business domain that was being implemented. The program became an implementation of the mental model I developed of the business domain itself: its purpose, its uses, and its allowances and prohibitions. The Naur paper hit exactly not only on what I had been implementing in code, but on what other developers would have to know in order to maintain that code over time.... and had the kind of knowledge that had been lost over the life of application by the time I came to be involved.... and part of why my project existed.
《泄漏抽象定律》长期影响深远,至今仍相关。
很高兴看到《泄漏抽象定律》在列——它长期影响我对编程的思考,发表近 18 年后仍然非常相关。
simonw查看英文原文
So glad to see the Law of Leaky Abstractions in there - that's had a very long-running impact on how I think about programming. It's still super-relevant today, nearly 18 years after it was published. https://www.joelonsoftware.com/2002/11/11/the-law-of-leaky-abstractions/
补充推荐《Programming Sucks》。
喜欢这份清单,但我认为任何编程文章清单都应该有《Programming Sucks》。
mhink查看英文原文
Love the list, but I definitely think Programming Sucks [1] should be on any list of programming essays. :) 1: https://www.stilldrinking.org/programming-sucks
历次讨论
同类还值得读
直接在浏览器中启动 Linux 内核
Boot a linux kernel right inside your browser.
Fabrice Bellard 的 JSLinux 页面,用 JavaScript 在浏览器里启动一个 Linux 内核,并提供一个可交互的终端环境。
工具与资源上首页 5 次 · 2011–2025bellard.orgHacker News 未公开功能与行为清单(2018)
A List of Hacker News's Undocumented Features and Behaviors (2018)
数据科学家 Max Woolf 整理的 Hacker News 未公开功能与行为清单,涵盖投票机制、排名算法、账号惩罚等社区运作细节。
工具与资源上首页 5 次 · 2019–2025github.comMapSCII:在终端中用盲文和 ASCII 渲染地图
MapSCII – Braille and ASCII map renderer for the console
MapSCII 是一个在命令行终端里渲染地图的开源工具,用盲文字符和 ASCII 字符把地理数据画成可交互浏览的字符地图。
工具与资源上首页 5 次 · 2017–2025github.com顶尖大学的免费在线课程
Free Online Courses from Top Universities
Open Culture 整理的一份免费在线课程合集,汇集了全球顶尖大学(如 MIT、斯坦福、耶鲁等)向公众开放的网络课程资源,涵盖音频、视频等多种形式。
工具与资源上首页 5 次 · 2010–2022openculture.com淘气字符串:容易引发用户输入问题的字符串清单
Naughty Strings: A list of strings likely to cause issues as user-input data
一个 GitHub 仓库,收录了大量容易让程序出问题的用户输入字符串,如特殊字符、emoji、SQL 注入片段、系统命令等,供开发者用于测试输入处理逻辑。
工具与资源上首页 4 次 · 2015–2020github.com