工具与资源stackoverflow.com编辑精选
免费编程书籍清单
List of freely available programming books
2010 — 2011,它一次次回到首页
黑点是上首页(≥ 50 分)的那次投稿,空心点是没冲上去的投稿,点越大分数越高。
导读
这是 Stack Overflow 上一个社区维护的“免费编程书籍”清单,收集了大量可免费获取的编程与计算机科学书籍链接。它曾多次被 Hacker News 讨论,既被视为自学编程的资源入口,也引发了对书单质量、大学教育价值以及 Stack Overflow 关闭开放式问题的争论。
为什么经久不衰:它把大量免费学习资源集中在一处,并承载了关于自学与正规教育、开放问答价值的经典讨论,今天仍可作为找书起点(但需自行筛选质量)。
HN 评论精选
这份清单极其全面,配合动手实践可构成低成本甚至免费的高质量自学路径。
类似的清单有不少,但这一份全面得惊人。读其中一部分书,并把学到的知识真正用来做东西,很可能比除顶尖计算机科学项目之外的所有教育都更有价值。而且成本是 0 美元。有人会说大学能帮你选课、找同学、接触导师,从而减少学习时间;但我怀疑这种优势是否真能抵消大学的低效:它还会强迫你在本可更快自学的课程和与目标无关的必修内容上花时间。
tryitnow查看英文原文
There are several lists like this floating around, but this one is just amazingly comprehensive. Reading a subset of these books (and actually building stuff with the knowledge gained) will most likely provide one with a better education than all but the top-tier computer sci programs. And the cost is $0. Now one might argue that a college cuts down on the time it takes to select courses, find and work with other students, get access to mentors, etc. But I doubt it. Whatever learning inefficiencies colleges address, other inefficiencies more than counteract those gains. Consider that colleges also force you to spend more time on classes you could complete more quickly on your on, plus all the required coursework that might be completely unnecessary for your goals.
推荐 Z 记法手册,认为它能提升软件系统建模和面向对象设计能力。
我喜欢的一本免费书是 Spivey 的《The Z Notation: A Reference Manual》,可在 http://spivey.oriel.ox.ac.uk/~mike/zrm/zrm.pdf 免费下载 PDF。学习 Z 记法对我理解和建模软件的能力影响最大。它不算严格意义上的编程,但会教你成为更好的软件工程师;我没用它证明程序正确性或精化,而是用它表达软件系统各部分之间的关系,这让我更擅长面向对象建模。
hexagonc查看英文原文
One free book that I like is "The Z Notation: A Reference Manual" by Spivey. You can get a pdf version for free at http://spivey.oriel.ox.ac.uk/~mike/zrm/zrm.pdf. I would say that learning Z Notation had a bigger impact on my ability to understand and model software than anything else. It isn't exactly programming but it will teach you how to be a better software engineer. I never used it to prove program correctness or refinement but rather to express the relationships between the parts of a software system. It made me better at object oriented modeling.
批评清单重数量不重质量,对实际阅读帮助有限。
每次看到这类清单我都会想:为什么标题不是“优秀编程书清单”?多当然好,但质量呢?这么庞大的清单怎么能帮到人?肯定没人会读其中很大一部分。我支持免费优质内容,但这些清单似乎只是给收藏者看的。
scscsc查看英文原文
Whenever I see lists like this, I think: - why doesn't it read "list of good programming books"? (the more the merrier, but how about quality?) - how can such a huge list help anyone? Certainly no-one will read a significant percentage of them. I'm all for free quality content, but these lists seems to be just for collectors.
抱怨 Stack Overflow 的严格规则关闭了这类有价值的开放式讨论。
唉……点开 Stack Overflow 链接之前我就猜到这个话题会被锁定/关闭。似乎每次我在 Stack Overflow 上发现真正有趣的东西,它都已被关闭。我理解版主想限制为有具体答案的问题,但这很令人沮丧:为什么不能利用那些真正需要程序员社区回答的开放式问题呢?
zacharypinter查看英文原文
Sigh... I guessed even before clicking the stackoverflow link that the topic would be locked/closed. It seems like every time I find something really interesting on stackoverflow I can count on it being closed. I realize the moderators are trying to restrict things to specific questions with specific answers, but it's damn frustrating. Why can't they find a way to take advantage of the open-ended questions that you really want a community of programmers to answer?
历次讨论
同类还值得读
直接在浏览器中启动 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