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

    编程与软件工程matt.might.net

    高级编程语言(2009)

    Advanced programming languages (2009)

    8次上首页
    13年跨度
    1,004累计得分
    714条评论

    2009 — 2022,它一次次回到首页

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

    导读

    这是 Matt Might 的经典文章,按用途推荐“高级编程语言”:如果追求就业就选主流语言,如果追求表达力、学术研究或创业,则推荐 Haskell、OCaml、Scala 等函数式语言,并附上各语言的学习资源。文章多次登上 HN 首页,成为讨论语言选择标准的常青参考。

    为什么经久不衰:它把“选语言”从技术问题上升为职业与思维方式的选择,其核心框架(就业性 vs 表达力)至今仍是语言讨论的经典切入点。

    关键词 编程语言函数式编程HaskellScala

    HN 评论精选

    读者正用此文在函数式语言之间做选择,关心生态与前置知识

    这篇文章来得正是时候。我正想学一门函数式语言,已把范围缩小到 Haskell、OCaml 和 Scala。有常用 Haskell 或 OCaml 的朋友能说说标准库和第三方库的现状吗?我很喜欢 Scala 的 JVM 支持,生态看起来很成熟。不过我来自 C++ 和 Python 背景,学 Scala 之前需要先精通 Java 吗?

    dsacco查看英文原文

    This post is very fortuitous for me. I've been looking to learn a functional language and I had more or less narrowed my options to Haskell, OCaml and Scala. I liked the breakdown between these languages and the resources. Can anyone who programs in Haskell or OCaml regularly tell me the current state of standard and third party library support? I'm very attracted to Scala because it has JVM support, which sounds fantastic for overall ecosystem maturity. That said, I come from a C++ and Python background, so do I need to know Java well before learning Scala?

    创业选语言要考虑招聘难度,不能只看个人效率

    如果是围绕一门难以招人的语言来创业,我会非常犹豫。短期内你确实效率更高,但创业不只是写代码,在有能力雇人分担之前,你得身兼数职。到这个阶段,你的第一个员工应该是替你分担工程负担的人——因为工程是你唯一真正理解的业务,也只有这件事你能有效管理他人去做。

    vinceguidry查看英文原文

    I personally would really hesitate before picking a language that will be hard to hire for to build a business around. Yes, you'll be more productive in the short-term, but a business is more than just code and you will need to wear those hats too before you'll have enough understanding and resources to hire those out. At this point, I'm fairly certain your first hire should be someone to take the engineering load off of you. Engineering will be the only thing you really, truly understand about your business and so it will be the only thing you'll be able to effectively manage others doing.

    质疑原文把学术研究和创业与就业性割裂的说法

    “如果你追求的是开悟、学术研究或创业,选语言的标准不是就业性而是表达力”——但开悟、学术研究和创业之间差别很大。对学术研究和创业来说,就业性都很重要:研究“没人用”的语言会降低研究影响力和自己的就业前景;创业则需要团队都能高效上手、社区健康、招人不出问题的语言。

    marceloabsousa查看英文原文

    "If, on the other hand, you're interested in enlightenment, academic research or a start-up, the criterion by which you should choose your next language is not employability, but expressiveness." There is a big difference between enlightenment, academic research and a start-up. For both academic research and start-ups, employability is a very important component: - Doing academic research on "non-employable" languages decreases the impact of your research and your own employability; - In a start-up, you want to pick a language where you can be productive with your team members, with an healthy community, and where you won't have hiring problems because you're using an "advanced" programming language.

    建议“一门主流+一门差异最大”的双语言学习策略

    每个开发者至少应掌握两门语言。最优选法是:(1) 学你所在行业最主流、最好就业的语言(如企业用 Java、科研用 Python、前端用 JavaScript);(2) 再学一门与第一门差异最大的语言,不管它冷门与否——会 Java 就学 Scheme,会 Python 就学 Haskell,会 JavaScript 就学汇编。

    goto11查看英文原文

    Every developers should know at least two languages (more is of course better, but two is the minimum for a professional). The optimal way to select: (1) Learn the language which is most prominent or employable in your preferred industry (e.g. Java for enterprises, Python for science, JavaScript for frontend). (2) Learn the language most different to the first, regardless of its popularity and employability. Eg. Scheme if you know Java, Haskell if you know Python, Assembler if you know JavaScript. (There will probably be some disagreement about which languages are to most different to each other, but you get my point.)

    指出文中 AI 首选 Haskell 的说法已过时,并追问函数式语言为何未在 ML 领域流行

    “如果做 AI、NLP 或机器学习研究,Haskell 也会是我的首选”——这显然是过时的说法,今天显而易见的选择是 Python。但我很好奇:为什么这些“表达力更强”(文中似乎是“函数式”的同义词)的语言没在这些领域流行?像 Elixir 这种围绕管道、并行和数据处理设计的语言,配上高性能原生库,似乎很适合数据科学。

    krebs_liebhaber查看英文原文

    > I don't do a lot of artificial intelligence, natural-language processing or machine-learning research, but if I did, Haskell would be my first pick there too. This is definitely a dated article, since the obvious choice today would be Python, but I have to wonder: why aren't the "more expressive" (which in this post seems to be a synonym for "functional") languages used in these fields? I don't have much experience with ML languages, but it seems to me that something like Elixir (where the whole language is centered around pipes, parallelization, and operating on data) would be ideal for data science with a performant native library to back it up.

    历次讨论

    同类还值得读

    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. 我的 Forth 与栈机器经历

      Yosefk - My history with Forth & stack machines

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

      编程与软件工程上首页 8 次 · 2010–2024yosefk.com编辑精选
    5. 学习 Haskell 时我希望知道的事

      What I Wish I Knew When Learning Haskell

      Stephen Diehl 整理的 Haskell 学习指南(以幻灯片/参考文档形式呈现),旨在让初学者快速了解学习 Haskell 时最需要知道的核心库、概念和工具。

      编程与软件工程上首页 7 次 · 2013–2020dev.stephendiehl.com

    打赏支持

    打赏二维码

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

    WeChat

    关注向阳乔木

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

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

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