编程语言与软件工程2018jmc.stanford.edu编辑精选
Lisp 的历史(1979)
History of Lisp (1979)
入门 · 约 45 分钟读完前置知识:编程语言基础、Lisp 基本概念、编程语言史
导读
这是 Lisp 发明者 John McCarthy 于 1979 年为 HOPL(编程语言史)会议撰写的回顾文章,讲述 Lisp 的起源、设计动机与早期演进,文中也涉及 if 表达式等关键设计的由来。McCarthy 后来曾表示,Herbert Stoyan 对早期 Lisp 文献的研读比他自己凭记忆写下的这篇更准确。
HN 关注点:语言创造者的一手历史叙述,讨论焦点则转向更准确、更完整的后续史料,如 Stoyan 的档案与 Steele/Gabriel 的《The Evolution of Lisp》。
后来怎么样
作为 Lisp 发明者的一手历史叙述,成为研究 Lisp 起源与早期演化的标准参考文献;后续 HOPL 的 Lisp 史综述(Steele 与 Gabriel)即在其基础上续写。
HN 评论精选
这几条评论里:补充 3 亲历 1
补充补充史料脉络:McCarthy 本人认可 Stoyan 的研究更准确,并推荐 Steele 与 Gabriel 的续篇。
这是 McCarthy 1978 年为 HOPL 会议写的关于 Lisp 的论文(参见 HOPL 的维基条目)。McCarthy 曾称赞 Herbert Stoyan 对早期 Lisp 的历史研究,认为它胜过自己的《History of Lisp》:“Stoyan 对早期 LISP 文献的解读,比我自己回忆所呈现的图景更准确。”1993 年 HOPL 2 上,Guy Steele 和 Richard P. Gabriel 写了《The Evolution of Lisp》,把故事续写到约 1992–93 年。
leoc查看英文原文
This is McCarthy's paper on Lisp for HOPL (1) https://en.wikipedia.org/wiki/History_of_Programming_Languages in 1978. McCarthy praised Herbert Stoyan's historical work on early Lisp http://www.mcjones.org/dustydecks/archives/2010/07/29/185/ https://web.archive.org/web/20050617031004/http://www8.informatik.uni-erlangen.de/html/lisp-enter.html above his own "History of Lisp": "Stoyan's reading of the early LISP documents gives a more accurate picture than my own memories turned out to have given." http://www-formal.stanford.edu/jmc/history/ For HOPL 2 in 1993 Guy Steele and Richard P. Gabriel wrote "The Evolution of Lisp" https://www.dreamsongs.com/Files/HOPL2-Uncut.pdf which continued the story up to about 1992-3.
亲历Stoyan 的 Lisp 史料已捐入计算机历史博物馆,可在线查阅。
参考书目提到 Herbert Stoyan “写了几章”关于 LISP 历史的内容,但没给更多细节。Stoyan 教授曾任埃尔朗根-纽伦堡大学人工智能教席,他实际上把自己的 LISP 历史资料捐赠给了计算机历史博物馆。这里是材料概览(附链接)。我有幸做过他的本科生学生。
jll29查看英文原文
The bibliography mentions Herbert Stoyan "wrote several chapters" about the history of LISP, but doesn't give more details. Professor Stoyan, who held the chair of Artificial Intelligence at Friedrich Alexander University of Erlangen-Nuremberg, actually donated his LISP history paper to the Computer History Museum. Here is an overview of the material: https://www.computerhistory.org/collections/catalog/102703236 https://wwwdh.cs.fau.de/de/stoyan.html (I was lucky to count him as one of my undergraduate teachers.)
补充指出文中第 11 页记录了 if 表达式的发明过程,值得细读。
第 11 页关于 if 表达式的发明是一处珍宝。
iamcurious查看英文原文
The invention of the if-expression in page 11 is a gem.
补充呼吁补写 1979 年之后的 Lisp 史,并列出值得覆盖的关键事件。
我很想看到一部从这篇文章停下的地方接着写的更新版历史。过去 40 年的亮点包括:Common Lisp 规范的形成、Lisp 在 AI 中的角色、Symbolics 与 Lisp Machines Inc 之争及其在 AI 寒冬中的最终消亡、在 AutoCAD 和 Emacs 等 DSL 中的持续使用,以及规模虽小但不断增长的兴趣回升。
mtreis86查看英文原文
I would really like to see an updated history that takes up where this left off. Highlights of the past 40 years: the formation of the Common Lisp specification, the role of Lisps in AI, Symbolics vs Lisp Machines Inc, their eventual demise in the AI winter, continued use in DSLs like Autocad and Emacs, and the small but growing resurgence in interest.
历次讨论
- 2018Hacker News 讨论帖98 分 · 10 评
- 2020Hacker News 讨论帖101 分 · 11 评
- 2021Hacker News 讨论帖153 分 · 23 评
同领域还值得读
Google 的软件工程(2017)
Software Engineering at Google (2017)
介绍了 Google 的软件工程实践,包括其单一代码库(monorepo)、几乎全部开发在主干进行而非分支、代码审查、构建系统 Blaze、协议缓冲区等工具与流程,并讨论了频繁重…
编程语言与软件工程2017 · 1,127 分 · 465 评 · 引用 15入门 · 约 45 分钟编辑精选Peter Naur:编程作为理论构建 (1985)
Peter Naur – Programming as Theory Building (1985)
Peter Naur 1985 年的经典论文《Programming as Theory Building》提出:编程的本质不是写代码或文档,而是在程序员头脑中构建对程序及其运行…
编程语言与软件工程2016 · 629 分 · 74 评入门 · 约 45 分钟编辑精选SciPy 1.0:Python 科学计算的基础算法
SciPy 1.0: fundamental algorithms for scientific computing in Python
这篇发表于 Nature Methods 的论文介绍了 SciPy 1.0——Python 科学计算生态的基石库,涵盖其核心算法模块(优化、积分、插值、线性代数等)、软件架构与社…
编程语言与软件工程2020 · 387 分 · 98 评入门 · 约 45 分钟编辑精选使用 NumPy 进行数组编程
Array Programming with NumPy
这篇 Nature 文章介绍 NumPy 的数组编程模型及其在科学计算中的核心作用:以 ndarray 为中心,通过向量化操作让 Python 高效处理多维数组。
编程语言与软件工程2020 · 318 分 · 134 评入门 · 约 40 分钟编辑精选将 C 编译为安全 Rust:形式化方法
Compiling C to Safe Rust, Formalized
研究如何把 C 代码编译为安全的 Rust,并给出形式化方案。
编程语言与软件工程2024 · 291 分 · 157 评专业 · 约 90 分钟编辑精选