编程语言与软件工程2025lua.org
Lua 的演化(续)
The evolution of Lua, continued
进阶 · 约 100 分钟读完前置知识:编程语言基础、C 语言、解释器实现基础
导读
这是 Lua 语言设计者(Roberto Ierusalimschy 等)关于 Lua 演化历程的回顾性文章(HOPL 论文),延续了作者此前对 Lua 设计决策的叙述,重点讲述 1993 年诞生以来 Lua 在语法、实现与社区上的演进脉络与取舍。
HN 关注点:Lua 的长寿与轻量设计,并由此引申到 90 年代初中期集中诞生的一批主流语言,以及用 Lua 替代 JavaScript 的设想。
HN 评论精选
这几条评论里:补充 3
补充90 年代初中期集中诞生了今天的主流语言,这一时间上的巧合值得玩味。
有意思的是,许多最大的语言都是在 90 年代中前期短短几年内开发出来的:Python、JavaScript、Java、Lua、R,全都在 91–95 年间诞生,而它们构成了今天开发工作的大部分。
ecshafer查看英文原文
It is interesting that so many of the largest languages were developed in a couple year time frame in the early-mid 90s. Python, Javascript, Java, Lua, R. All of these were developed 91-95 and make a bulk of development today.
补充想找除 Neovim 配置之外、更进阶的 Lua 学习资源。
我接触 Lua 的唯一场景就是配置 Neovim,有人知道有什么好书或教程,能只用 Lua 做出更进阶的东西吗?有什么值得关注、阅读或观看的资料?
azemetre查看英文原文
My only context in using Lua is my neovim configuration, does any know of any good books or tutorials that make something more advance using only lua? Anything of note to consider/read/watch?
补充设想用 Lua 取代 JavaScript 作为浏览器脚本语言,但指出 DOM 互操作是难点。
我之前一直在想,如果浏览器里的脚本语言是 Lua 而不是 JavaScript 该多好。现在有一些把 Lua 编译到 wasm 在浏览器里运行的项目,比如 Pluto:https://pluto-lang.org/web/#env=lua%3A5.4.6&code=... 但和 DOM 的互操作仍是缺失的关键一环。不过如果当初用的是 Lua 而不是 JavaScript,我大概也会说:真想知道如果把 Lua 换成 X,浏览器开发会是什么样。
hackthemack查看英文原文
I was thinking a while back, how nice it would be if lua was the scripting language in the browser instead of javascript. There are some projects to compile lua to wasm and have it run in the browser... https://pluto-lang.org/web/#env=lua%3A5.4.6&code=if%20_PVERSION%20then%0A%09--%20Pluto%0A%09print(%22Hello%20from%20%22.._PVERSION)%0Aelse%0A%09--%20Lua%0A%09print(%22Hello%20from%20%22.._VERSION)%0Aend But interoperability with the DOM is the missing key. Still, if lua was used instead of javascript, I could see myself saying... man, I wonder what browser development would be like if we replaced lua with x.
相关资源
从这篇论文所有 HN 讨论帖的全部评论里整理出来的链接。
历次讨论
- 2025Hacker News 讨论帖229 分 · 168 评
同领域还值得读
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 分钟编辑精选Lisp 的历史(1979)
History of Lisp (1979)
这是 Lisp 发明者 John McCarthy 于 1979 年为 HOPL(编程语言史)会议撰写的回顾文章,讲述 Lisp 的起源、设计动机与早期演进,文中也涉及 if 表…
编程语言与软件工程2018 · 352 分 · 44 评入门 · 约 45 分钟编辑精选使用 NumPy 进行数组编程
Array Programming with NumPy
这篇 Nature 文章介绍 NumPy 的数组编程模型及其在科学计算中的核心作用:以 ndarray 为中心,通过向量化操作让 Python 高效处理多维数组。
编程语言与软件工程2020 · 318 分 · 134 评入门 · 约 40 分钟编辑精选