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 生成,可能有误。

    历史与人物os2museum.com

    Windows 为什么真的用反斜杠作路径分隔符

    Why Does Windows Really Use Backslash as Path Separator?

    3次上首页
    5年跨度
    463累计得分
    417条评论

    2019 — 2024,它一次次回到首页

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

    导读

    这篇文章追溯了 Windows 使用反斜杠(\)作为路径分隔符的真正历史原因:MS-DOS 早期沿袭 DEC 操作系统的传统,用正斜杠(/)表示命令行选项,因此引入目录时只能改用反斜杠。文章梳理了从 CP/M、RT-11 到 MS-DOS 2.0 的演变脉络。

    为什么经久不衰:它用扎实的史料澄清了一个流传甚广的误解,揭示了今天仍无处不在的路径分隔符背后鲜为人知的设计权衡,对理解操作系统历史的延续性很有价值。

    关键词 操作系统历史MS-DOS路径分隔符DEC

    HN 评论精选

    微软沿用 DEC 的 '/' 选项约定,导致路径分隔符只能改用反斜杠

    有趣的是这类东西如何随时间演变。微软做 DOS 之前的主打产品是 Altair 上的 Microsoft BASIC,用 8080 汇编写成,而开发时用的是 DEC 的 TOPS-10/20 上的 CROSS80 汇编器。TOPS-10 用正斜杠(/switch)引入命令选项,这也是 DEC 命令语言 DCL 的标准。微软当时在模仿 DEC——那时最成功的迷你计算机公司——因为微软立志成为最成功的微型计算机公司。结果命令选项用 '/' 前缀,解析器就无法再把正斜杠用作路径分隔符。

    ChuckMcM查看英文原文

    It is amusing how this sort of stuff evolves over time. Before Microsoft was doing DOS their big product was Microsoft BASIC for the Altair computer. No OS, just load it into memory (from paper tape or cassette tape!) and start it up. Microsoft BASIC was written in 8080 assembler (Bill Gates once pointed this out to me in a meeting). The assembler that was used was called CROSS80 and it ran on both TOPS20 and TOPS10 (DEC10 operating systems for the DEC system that Bill and Paul used at Harvard when writing BASIC) The TOPS-10 command line manual is here : https://livingcomputers.org/Discover/Online-Systems/User-Documentation/Tops-10-v7-04/2_Operating_System_Commands_Manual.aspx and you will see that on page ix in the conventions used, TOPS 10 introduced command options (switches) with the forward slash character (/switch) The use of / for "options" was a standard part of DCL (the DEC Command Language) here is the document for RT-11 (ftp://bitsavers.informatik.uni-stuttgart.de/pdf/dec/pdp11/rt11/v5.6_Aug91/AA-PDU0A-TC_RT-11_Commands_Manual_Aug91.pdf) Microsoft was copying DEC because at the time DEC was the most successful MINIcomputer company and Microsoft had aspirations of being the most successful MICROcomputer company. As a result command options (or switches) were preceded by '/' and that gave the parser heartburn if you used forward slash for the path. If you read the RT-11 manual you will see that the COPY command took an option /BOOT to copy to the boot directory, and it was written COPY/BOOT not COPY<space>/BOOT. If a directory was involved it would be FOO/COPY/BOOT and how would you be able to parse that? Bell Labs (also DEC users at the time) switched to using '-' for UNIX to indicate a switch or option because it wasn't a path character. At the end of the day the desire to be like DEC was what gave us both devices with colon's on the end (LPT: anyone?) and logging into the "active" directory. And DEC used slash for options in their DCL so that is what Microsoft used.

    CP/M 生态普遍用 '/' 作命令选项,这一约定确实源自 DEC

    文章关于 CP/M 中正斜杠用法的说法略有误导。CP/M 系统本身确实不用正斜杠,但只是因为系统自带的程序极少且没有命令行选项;而大多数第三方 CP/M 程序无一例外都用正斜杠表示命令行选项。不用正斜杠根本没法用 CP/M。文章说正斜杠选项约定源自 DEC 是对的——七十年代 DEC 的操作系统比 UNIX 用得广泛得多。

    adrian_b查看英文原文

    The article is slightly misleading about the usage of the forward slash in CP/M. It is true that the CP/M operating system itself did not use the forward slash, but the only reason for that was that the operating system included only a handful of executable programs, the main being the equivalents of the later "COMMAND.COM", "DEBUG.COM" and "COPY.COM" of Microsoft. The very few executable programs provided with the OS did not have any command-line options. A few of the most common file operations were shell built-ins, not separate executable programs. On the other hand, most CP/M executable programs (which were bought from third parties, not from Digital Research, the vendor of CP/M) had command-line options and, without exceptions, they used the forward slash for command-line options, instead of the hyphen used by UNIX. It would have been absolutely impossible to use CP/M without being aware of the convention that the forward slash is used for the command-line options. The article is completely correct that the use of the forward slash for options was not introduced by CP/M, but it was taken from the operating systems of the DEC Corp., which, during the seventies, were much more widely used than UNIX, which was an alternative for them only on PDP-11, and it was not yet used much outside the Bell Labs. Nevertheless, all the programs ported to MS-DOS 1.0 (e.g. MS BASIC, Turbo Pascal, WordStar, dBASE and so on) had not been ported from programs written for DEC OSes, but from programs written for CP/M. There is no doubt that the forward slash of MS-DOS 1.0 is directly inherited from CP/M. It was used by the same programs, for exactly the same options, so they must have kept the command-line parser without changes. I have used many of the same programs both first for CP/M and then for MS-DOS, so I can be certain about this. I have also used the DEC RSX-11M operating system on PDP-11, and indeed the RSX-11M utilities, for example PIP (Peripheral Interchange Program, a file transfer program with many options, somewhat like UNIX dd), used the forward slash many years before CP/M and most programmers for CP/M should have been familiar with this convention, so they have reused it, but the relationship from DEC OSes to MS-DOS 1.0 is indirect, via CP/M.

    MS-DOS 2.0 曾提供 SWITCHAR 选项让用户切换分隔符约定

    DEC PDP 的 RT-11 用正斜杠表示选项,且没有目录概念,文件名格式是 3 字符设备名 + 6 字符文件名 + 3 字符扩展名。CP/M 借鉴了 RT-11 的结构,也没有目录。MS-DOS 2.0 引入目录时默认仍用正斜杠作选项分隔符,但 CONFIG.SYS 里有 SWITCHAR 选项,改成其他字符后就可以用正斜杠作目录分隔符。

    rswail查看英文原文

    The RT-11 OS for the DEC PDP used the forward slash for options and didn't have the concept of directories. The filename format for RT-11 was a three character device specifier, 6 character file name and 3 character extension CP/M borrowed most of its structure from RT-11 and also didn't have directories, just devices. The filename format was 8.3 instead of 6.3. MS-DOS in 2.0 (which introduced directories) defaulted to using the forward slash as the command options separator, but had an option in CONFIG.SYS for SWITCHAR that if you set to something other than forward slash, allowed you to use the forward slash as a directory separator.

    现代 Windows 两种斜杠都接受,反斜杠已非必需

    需要指出的是,如今的 Windows 正斜杠和反斜杠都能用。事实上连文件资源管理器都允许你把两种斜杠混着用。

    ChrisSD查看英文原文

    It should be noted that Windows can use either forward or backward slashes nowadays. In fact, even File Explorer allows you to use an unholy mix of the two.

    历次讨论

    同类还值得读

    1. 开发者无薪坚持完成 Mac 图形计算器:一个秘密项目的故事

      Dev stays without pay to finish Mac Graphing Calculator as skunkworks project

      苹果 Mac 图形计算器(Graphing Calculator)开发者的亲述:在项目被砍后,几位工程师在没有报酬、没有正式授权的情况下,以“地下项目”方式偷偷留在公司把软件做完…

      历史与人物上首页 6 次 · 2009–2022pacifict.com
    2. 理查德·费曼与 Connection Machine

      Richard Feynman and the Connection Machine

      长文回忆费曼晚年参与 Connection Machine 并行计算机项目的经历:他分析路由器、用自创的并行 Basic 编写 QCD 程序,也涉足细胞自动机等主题。

      历史与人物上首页 5 次 · 2010–2021longnow.org编辑精选
    3. 负 2000 行代码

      -2000 Lines of Code

      folklore.org 上 Andy Hertzfeld 记录的一则苹果 Macintosh 开发轶事:Bill Atkinson 被问到写了多少行代码时,回答“-2000 行…

      历史与人物上首页 4 次 · 2014–2022folklore.org编辑精选
    4. Dennis Ritchie 的第一版 C 编译器(约 1972 年)

      Dennis Ritchie’s first C compiler (c. 1972)

      这个 GitHub 仓库保存了 Dennis Ritchie 约 1972 年编写的最早 C 编译器源码,是 C 语言和 Unix 早期历史的一手材料。

      历史与人物上首页 4 次 · 2013–2025github.com
    5. 一位破解赛马密码的赌徒

      A Gambler Who Cracked the Horse-Racing Code (2018)

      彭博社 2018 年的长篇特写,讲述数学家 Bill Benter 如何用统计模型和算法在赛马博彩中持续盈利、累计赢得近十亿美元的故事。

      历史与人物上首页 4 次 · 2018–2024bloomberg.com

    打赏支持

    打赏二维码

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

    WeChat

    关注向阳乔木

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

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

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