HackerURLs

一次又一次被重新发现的经典。

同一个链接,相隔一年以上,一次又一次被人重新发现、再次冲上 Hacker News 首页。能经受住这种时间检验的,大多是值得一读再读的文章。每篇附中文标题,讨论最热的那些再加上中文导读和高赞评论翻译。

从名人堂开始
  • 4,700+篇经过时间检验的经典

Hall of fame

名人堂

在经典库里看全部精选

上首页次数最多、而且有中文导读的 30 篇。时间轴上每个黑点是一次上首页,空心点是一次没冲上去的投稿。

  1. 正在载入经典…

Archive

经典库

按第一次上首页的年份分布,点柱子筛选。

排序

    About

    这些经典是怎么挑出来的

    1. 01

      合并同一个链接

      读取 Hacker News 自 2006 年以来的全部链接投稿,把 http/https、www、跟踪参数等写法不同的同一篇文章合并成一条。

    2. 02

      只留经得起时间的

      同一链接至少两次拿到 50 分以上(约等于上首页),而且两次相隔一年以上;再由 AI 剔除状态页、产品首页和新闻事件。

    3. 03

      写导读、译评论

      上首页次数最多的 2,000 篇配上中文导读、"为什么经久不衰",并精选翻译 HN 高赞评论。导读由 AI 生成,可能有误。

    编程与软件工程journal.stuffwithstuff.com

    创作《Crafting Interpreters》

    Crafting “Crafting Interpreters”

    2次上首页
    1年跨度
    957累计得分
    91条评论

    2020 — 2021,它一次次回到首页

    黑点是上首页(≥ 50 分)的那次投稿,空心点是没冲上去的投稿,点越大分数越高。

    导读

    《Crafting Interpreters》作者 Bob Nystrom 回顾这本书是怎么被做出来的:为了让书中代码片段与真实源码保持一致,他专门写了一套注释 DSL 和工具链来生成示例代码,插图也是逐张手绘的。文章还讲了在双胞胎孩子早产、生活节奏被打乱的几年里,他如何靠晚上和周末一点点把这本书写完。

    为什么经久不衰:它既是经典教材的幕后制作记,也是一份关于“手艺”和长期项目如何在生活夹缝中坚持下来的诚实记录,对写书、做工具和做长期项目的人都有共鸣。

    关键词 编译器编程书写作过程工具链

    HN 评论精选

    以自己的写书经历对比,惊叹作者在家庭变故中仍完成 20 万字。

    我读完了整篇文章,还是不太明白他到底是怎么做到的,而他的书文笔实在太好。我自己公开宣布要写书的第二天,妻子就说她怀孕了,我还在写,但第一天的干劲已经减半。两周后她说是双胞胎,我赶紧找了份稳定工作,仍然在晚上和周末写。孩子比预产期早到,我们在新生儿重症监护室待了两个月,写作退居其次,变成一周一两天。孩子终于回家后,一周能写上一段就算走运。孩子一岁时,我看文件的最后修改日期,发现是一个月前。隔离在家帮我又能在每晚写几段,但大部分时间都在重读旧稿找回上下文。我真的很佩服 Bob Nystrom 能在生活如此阻挠下写出 20 万字。

    ibudiallo查看英文原文

    I've read the entire post and I still don't know how he did it. And his books are incredibly well written. The day after I announced publicly I'm writing a book, my wife announced she was pregnant. I still continued writing but the motivation of the first day was halfed. Two weeks later, she told me it was twins, I quickly decided to get a stable job. I still wrote in the evening and weekends. The kids came earlier then expected, and we had to spend 2 months in the NICU. Writing took a backseat. It turned into a day or two a week. When the kids finally came home... If I could get a paragraph in every week I was lucky. At one year old, I check the last modified date on the files and it says a month ago. The quarantine helped me get a few paragraph here and there every night. But a good part of my routine has been reading the book to remember what it was about. I'm really impressed with how Bob Nystrom managed to get 200k words in with life fiercely trying to get in the way. Your first book was amazing, and I can't wait to get this one too in my hands.

    赞赏书中手绘示意图是真的手绘,认为这种工匠精神难得。

    我做平面设计出身,有个怪癖:看到像手写的东西,就会找同一个字母的多个实例,看它们是否不同,还是只是用了手写字体。几乎每次都是手写字体,看着错觉破灭总有点难过。(另一位回复者:我不是设计师但我也这样。)而他的图看起来真是非常规整的手绘示意图!我很欣赏两本书里体现出的这种手艺与用心。就像有人在 YouTube 上说的,整个过程的时间 lapse 视频简直是给极客听的 ASMR。

    airstrike查看英文原文

    > I used to do graphic design, and I have this weird tic where any time I see something that looks handwritten, I look for multiple instances of the same letter to see if they are different or if the design just used a handwriting font. It’s almost always a handwriting font and I die a little inside to see the illusion evaporate. Not a graphic designer, but I do the exact same thing and feel the exact same way... Happy to see I'm not crazy alone And his look like really neat hand-drawn diagrams! I certainly appreciate the degree of craftsmanship and care displayed throughout both books As a someone put it on YouTube, the time-lapse video of the entire process is like ASMR for geeks https://www.youtube.com/watch?v=iN1MsCXkPSA

    最欣赏作者保证代码片段与真实源码一致,并从中获得坚持项目的鼓励。

    哇。我本来就很喜欢这本书,读完幕后故事后更是由衷敬佩。我特别欣赏你在保证代码片段与真实源码一致上下的功夫——太多书会漏掉关键步骤或带着错误的代码。你在艰难时期仍坚持写下去也让我很受鼓舞。我们现在都在经历困难时期,做自己的项目(包括一个编译器!)给了我一点小小的满足感。

    hardwaregeek查看英文原文

    Wow. I was already impressed with the book, but after reading about what was happening behind the scenes, I'm truly in awe. I especially appreciate the work you put into making sure that the code snippets are accurate to the actual source code. Far too many books omit crucial steps or contain faulty code. I also found it really heartening how you kept working through the tough times. We're all going through some challenging times right now and I have found that working on my projects (including a compiler!) has given me a small bit of satisfaction.

    分享自己按书实现却不断跑偏重构的趣事,侧面说明这本书很能激发动手欲望。

    到目前为止我和这本书的旅程是这样的:我决定跟着书走,但用 Clojure 而不是 Java 来写解释器(至少写解释器部分)。这进展顺利,然后我决定把词法分析器写成一个数据 DSL(嵌套 map)里的状态机。也还行,但显得极其冗长,因为大量状态的输入消息相同,于是我决定写个宏,把正则表达式与 token 一一映射,生成驱动词法分析器的(数据 DSL)状态机。然后我意识到得到的是非确定性状态机,需要转成确定性的。然后我觉得正则表达式的字符串表示太糟,又想给它写个 DSL……然后就停在那里,中间换读了几本别的书,正考虑要不要干脆抛弃词法分析器直接用 s 表达式。大概不会,因为这挺好玩,但我确实跑偏得厉害。

    dgb23查看英文原文

    Here is my journey with this book so far: I decided to follow the book but write in Clojure (at least the interpreter) instead of Java. This went well, but then I decided I also wanted to write the lexer as a state machine in a data DSL (nested maps). This went kind of well, but it seemed incredibly verbose, because a ton of states would have the same input messages, so I decided to write a macro that maps regular expressions to tokens one to one and produces a (data DSL) state machine that later drives the lexer. Then I realized that I get a non-deterministic state machine that I needed to convert to a deterministic one. Then I decided that the string representation of regular expressions suck, and that I want to write a DSL for those too... Then left at the above, switched to a few other books in between and am trying to decide whether I should ditch the lexer entirely and just use s-expressions. I probably won't, because it's fun so far, but boy did I get sidetracked...

    历次讨论

    同类还值得读

    1. 开源应用架构

      The Architecture of Open Source Applications

      《开源软件架构》(AOSA)是一本在线免费书,邀请知名开源项目的作者亲自剖析其内部设计,涵盖 SQLAlchemy、LLVM、Audacity、Apache、Bash 等系统。

      编程与软件工程上首页 9 次 · 2011–2024aosabook.org编辑精选
    2. 编程语言简史:简短、不完整且多半错误

      A Brief, Incomplete, and Mostly Wrong History of Programming Languages

      一篇以戏谑、故意不准确的方式回顾编程语言史的博客文章,用夸张轶事和讽刺定义串起 Lisp、C、C++、Java、JavaScript、PHP 等语言。

      编程与软件工程上首页 8 次 · 2009–2021james-iry.blogspot.com
    3. SQLite 是如何测试的

      How SQLite is tested

      SQLite 官方文档页,系统介绍 SQLite 的测试体系:多种测试方法(TCL 测试、模糊测试、回归测试、静态分析等)和海量测试用例,展示了这个小型开源项目如何靠极致测试获得…

      编程与软件工程上首页 8 次 · 2009–2025sqlite.org编辑精选
    4. 高级编程语言(2009)

      Advanced programming languages (2009)

      Matt Might 的经典文章,按用途推荐“高级编程语言”:如果追求就业就选主流语言,如果追求表达力、学术研究或创业,则推荐 Haskell、OCaml、Scala 等函数式语…

      编程与软件工程上首页 8 次 · 2009–2022matt.might.net
    5. 我的 Forth 与栈机器经历

      Yosefk - My history with Forth & stack machines

      作者以亲身经历回顾了使用 Forth 语言和栈式机器的历程:既赞叹其简洁优雅、代码量小、可自举的优点,也坦率指出栈操作在实际编程中的痛苦,以及 Forth 社区文化中的问题。

      编程与软件工程上首页 8 次 · 2010–2024yosefk.com编辑精选

    打赏支持

    打赏二维码

    觉得有用,请作者喝杯咖啡。

    WeChat

    关注向阳乔木

    微信公众号「向阳乔木推荐看」

    微信公众号「向阳乔木推荐看」二维码

    微信扫一扫;在微信里打开本页时,长按二维码识别。