HackerPapers

HN 二十年,最值得读的论文。

从 Hacker News 2006 年以来的全部投稿里,挑出链接本身就是论文的帖子:arXiv、期刊、会议论文、技术报告。每篇附中文标题,讨论最热的那些再加上中文导读和高赞评论翻译。

从必读开始
  • 8,000+篇被 HN 讨论过的论文

Essential

必读 30 篇

在论文库里看全部精选

编辑精选里 HN 讨论最热的 30 篇,每篇都有中文导读。不知道从哪读起,就从这里开始。

  1. 正在载入论文…

Archive

论文库

点柱子按年份筛选。注:源数据里 2023 年的帖子分数记录不全,2026 年尚未过完,这两年收录偏少。

难度
排序

    About

    这些论文是怎么挑出来的

    1. 01

      全量扫一遍

      读取 Hacker News 自 2006 年以来的全部 446 万条链接投稿,找出指向 arXiv、期刊、会议、技术报告和学术 PDF 的帖子。

    2. 02

      只留论文本身

      由 AI 逐条判断,剔除介绍论文的新闻、博客和幻灯片,同一篇论文的多次投稿合并计算,并统计它在评论区被引用的次数。

    3. 03

      写导读、译评论

      讨论最热的 1,500 篇配上中文导读,并精选、翻译 HN 高赞评论。导读由 AI 生成,可能有误,请以原文为准。

    编程语言与软件工程2010scheme2006.cs.uchicago.edu

    编译器构造的增量式方法

    An Incremental Approach to Compiler Construction (2006)

    进阶 · 约 120 分钟读完前置知识:Scheme 基础、x86 汇编基础、编译原理基本概念

    读论文 HN 讨论
    340HN 得分
    46条评论
    4次投稿

    导读

    这篇 2006 年的经典论文(Ghuloum 著)提出一种增量式构建编译器的方法:从最小的编译器出发,通过一系列小步骤逐步扩展功能,每一步都能编译运行,最终得到一个完整的 Scheme 编译器。这种循序渐进的方式让学习者更容易理解编译器各部分的演进过程。

    HN 关注点:这是 HN 上多次被重提的经典编译器入门论文,读者关注它作为学习编译原理的实践路径,并讨论相关的延伸资料和现代实现方式。

    关键词 编译器Schemenanopass教学

    后来怎么样

    这篇论文提出的增量式编译器构建方法成为编译器教学领域的经典范例,被广泛用作编译课程的实践教材,并启发了 nanopass 编译器框架等一系列后续工作。

    HN 评论精选

    这几条评论里:质疑 1 补充 3

    补充推荐 Nada Amin 的实现和教程作为配套学习资料

    Nada Amin(2014 年 Strange Loop 演讲《Programming Should Eat Itself》的主讲人)已经完整实现了这篇论文的方法,并在其 GitHub 上提供了配套的 workshop 教程文档。她还参与了下一代 Scala 编译器 Dotty 的开发。

    juliangamble查看英文原文

    Nada Amin, who gave the keynote at Strange Loop in 2014 "Programming Should Eat Itself" https://www.youtube.com/watch?v=SrKj4hYic5A has worked through the implementation https://github.com/namin/inc and provided the corresponding workshop documentation in her github account. https://github.com/namin/inc/blob/master/docs/tutorial.pdf She's also been involved in contributing to the next generation Scala compiler (Dotty).

    补充补充 nanopass 编译器相关论文资料

    推荐几篇相关论文:lambda-the-ultimate 上的讨论帖,以及 Dybvig 的 nanopass 系列论文(nano-jfp 和 commercial-nanopass)。

    fao_查看英文原文

    Here are some related papers you might be interested in (If you haven't seen them already): http://lambda-the-ultimate.org/node/1589 http://www.cs.indiana.edu/~dyb/pubs/nano-jfp.pdf http://www.cs.indiana.edu/~dyb/pubs/commercial-nanopass.pdf

    补充建议用 WASM 替代汇编作为现代实践目标

    现在有了 WASM,学习这篇论文的一个好方式是生成 WASM 而不是论文建议的汇编代码,并把 WASM 的结构当作宏来使用。

    pjmlp查看英文原文

    Now with WASM, a good way to go through this paper is to generate WASM instead of the suggested Assembly and use WASM constructs as macros.

    质疑提出对“增量”一词另一种含义的期望

    我更想看到的是“增量编译器的构建方法”——即编译器输出能针对之前输入增量求值代码的编译器。

    amelius查看英文原文

    What I'd like to see is "An Approach to Incremental Compiler Construction", i.e., a compiler that outputs code which evaluates its input incrementally wrt. previous inputs.

    相关资源

    从这篇论文所有 HN 讨论帖的全部评论里整理出来的链接。

    代码
    视频与演讲

    历次讨论

    同领域还值得读

    1. Google 的软件工程(2017)

      Software Engineering at Google (2017)

      介绍了 Google 的软件工程实践,包括其单一代码库(monorepo)、几乎全部开发在主干进行而非分支、代码审查、构建系统 Blaze、协议缓冲区等工具与流程,并讨论了频繁重…

      编程语言与软件工程2017 · 1,127 分 · 465 评 · 引用 15入门 · 约 45 分钟编辑精选
    2. Peter Naur:编程作为理论构建 (1985)

      Peter Naur – Programming as Theory Building (1985)

      Peter Naur 1985 年的经典论文《Programming as Theory Building》提出:编程的本质不是写代码或文档,而是在程序员头脑中构建对程序及其运行…

      编程语言与软件工程2016 · 629 分 · 74 评入门 · 约 45 分钟编辑精选
    3. SciPy 1.0:Python 科学计算的基础算法

      SciPy 1.0: fundamental algorithms for scientific computing in Python

      这篇发表于 Nature Methods 的论文介绍了 SciPy 1.0——Python 科学计算生态的基石库,涵盖其核心算法模块(优化、积分、插值、线性代数等)、软件架构与社…

      编程语言与软件工程2020 · 387 分 · 98 评入门 · 约 45 分钟编辑精选
    4. Lisp 的历史(1979)

      History of Lisp (1979)

      这是 Lisp 发明者 John McCarthy 于 1979 年为 HOPL(编程语言史)会议撰写的回顾文章,讲述 Lisp 的起源、设计动机与早期演进,文中也涉及 if 表…

      编程语言与软件工程2018 · 352 分 · 44 评入门 · 约 45 分钟编辑精选
    5. 使用 NumPy 进行数组编程

      Array Programming with NumPy

      这篇 Nature 文章介绍 NumPy 的数组编程模型及其在科学计算中的核心作用:以 ndarray 为中心,通过向量化操作让 Python 高效处理多维数组。

      编程语言与软件工程2020 · 318 分 · 134 评入门 · 约 40 分钟编辑精选

    打赏支持

    打赏二维码

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

    WeChat

    关注向阳乔木

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

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

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