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 生成,可能有误,请以原文为准。

    系统与数据库2024research.google

    SQL 中的管道语法

    Pipe Syntax in SQL

    入门 · 约 45 分钟读完前置知识:SQL 基础、关系代数基本概念

    读论文 HN 讨论
    308HN 得分
    229条评论

    导读

    Google 发表的论文提出 SQL 的管道(pipe)语法,通过 FROM 开头、用 |> 串联 WHERE/AGGREGATE/ORDER BY 等操作符的方式重写查询,解决传统 SQL 子句顺序固定、逻辑书写顺序与执行顺序不一致导致的可读性问题。该语法已在 Google SQL 方言中实现。

    HN 关注点:SQL 语法设计是 HN 的经典争论话题,Google 官方下场'修 SQL'引发了对是否还称得上 SQL、与 PRQL 等已有方案对比的讨论。

    关键词 SQL管道语法GooglePRQL

    HN 评论精选

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

    质疑展示管道语法示例,质疑其是否还算 SQL,但承认可读性提升

    从 PDF 里举了个例子:FROM r JOIN s USING (id) |> WHERE r.c < 15 |> AGGREGATE sum(r.e) AS s GROUP BY r.d |> WHERE s > 3 |> ORDER BY d |> SELECT d, s, rank() OVER (order by d)。这样调整子句顺序之后还能叫 SQL 吗?PRQL 等也做过类似的事,但它们没自称 SQL。不过我确实觉得这样更易读。

    Ciantic查看英文原文

    Here is one example from the PDF: FROM r JOIN s USING (id) |> WHERE r.c < 15 |> AGGREGATE sum(r.e) AS s GROUP BY r.d |> WHERE s > 3 |> ORDER BY d |> SELECT d, s, rank() OVER (order by d) Can we call this SQL anymore after this? This re-ordering of things has been done by others too, like PRQL, but they didn't call it SQL. I do think it makes things more readable.

    质疑质疑复杂 SQL 的必要性,主张用其他语言做数据转换

    想问写复杂 SQL 的人:为什么不写简单查询、再用别的语言做转换?SQL 引擎在过滤/匹配/聚合上真的比应用层更高效吗?没有可复用模块、测试和日志,开发不是更难吗?语法是一回事,性能和安全可维护性是另一回事。

    mocamoca查看英文原文

    Question for people writing highly complex SQL queries. Why not write simple SQL queries and use another language to do the transformations? Are SQL engines really more efficient at filtering/matching/aggregating data when doing complex queries? Doesn't working without reusable blocks / tests / logs make development harder? Syntax is one thing, but actual performance (and safety/maintenance) is another deal?

    质疑20 年 SQL 老手反驳'SQL 有缺陷'论,认为问题在工具而非语言

    我很怀疑那些坚称 SQL 有缺陷的人,花在'修 SQL'上的时间是否比实际使用它的时间还多。写了 20 年 SQL 后我相信这门语言远超它的时代,我们才刚开始看到合适的工具生态——Azure Data Studio 加 Copilot 让以 select 开头写查询变得非常自然,相比之下这种管道语法显得很原始。

    gfody查看英文原文

    I seriously wonder if the people who are so adament that sql is flawed have spent as much time using at as they have trying to "fix" it. After 20 years of sequeling I have come to believe that this language is so far ahead of its time that we're only just beginning to see what a proper tooling for it looks like. Azure Data Studio w/Copilot makes starting queries with "select" the most natural thing in the world and this pipe syntax is barbaric in contrast.

    补充吐槽论文只有 PDF 不便阅读

    Google:你是一家互联网公司,请学会把研究论文发布成网页。

    simonw查看英文原文

    Google: you are a web company. Please learn to publish your research papers as web pages.

    相关资源

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

    代码
    视频与演讲

    历次讨论

    同领域还值得读

    1. I/O 比 CPU 更快——让我们划分资源并消除操作系统抽象

      I/O Is Faster Than CPU – Let’s Partition Resources and Eliminate OS Abstractions

      指出在现代服务器硬件上 I/O 速度已接近甚至超过 CPU,传统操作系统抽象反而成为瓶颈。

      系统与数据库2019 · 817 分 · 277 评进阶 · 约 30 分钟编辑精选
    2. 使用 io_uring 的高效 I/O

      Efficient IO with io_uring

      由 Linux 内核开发者 Jens Axboe 撰写,介绍 Linux 新的异步 I/O 接口 io_uring。

      系统与数据库2019 · 426 分 · 96 评进阶 · 约 45 分钟编辑精选
    3. 线程对大多数用途而言是个坏主意(1995)

      Threads Are a Bad Idea for Most Purposes (1995)

      这篇 1995 年的文章由 John Ousterhout 撰写,讨论为什么线程对大多数用途而言是坏主意,并主张事件驱动编程通常更简单、更高效。

      系统与数据库2017 · 423 分 · 382 评进阶 · 约 25 分钟编辑精选
    4. 学习型索引结构之论证

      The Case for Learned Index Structures

      提出把索引看作一种"模型":既然 B-tree 等结构本质上是在学习数据的分布,就可以用机器学习模型(如回归模型、神经网络)来近似键到位置的映射,从而替代 B-tree、哈希索引…

      系统与数据库2017 · 398 分 · 66 评 · 引用 25进阶 · 约 60 分钟编辑精选
    5. FoundationDB:一个分布式、解耦的事务型键值存储

      FoundationDB: A distributed, unbundled, transactional key value store

      介绍 FoundationDB:一个分布式、解耦设计的事务性键值存储。

      系统与数据库2021 · 283 分 · 99 评进阶 · 约 90 分钟编辑精选

    打赏支持

    打赏二维码

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

    WeChat

    关注向阳乔木

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

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

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