编程与软件工程100r.co
Uxn:极简堆栈式虚拟机与计算生态
Uxn
2021 — 2024,它一次次回到首页
黑点是上首页(≥ 50 分)的那次投稿,空心点是没冲上去的投稿,点越大分数越高。
导读
Uxn 是 Hundred Rabbits(100r.co)开发的一个极简栈式虚拟机,只有 32 条指令,配套一个名为 Varvara 的输入输出设备层。它被设计成能运行在小工具、游戏和旧硬件上,目标是做出不依赖庞大运行环境的“长久可用”的软件。页面介绍其设计理念、规格与生态。
为什么经久不衰:它用几十条指令和几乎为零的依赖,重新提出“软件能否活几十年”的老问题,既是对 Infocom Z-machine 传统的延续,也是一份可亲手实现的替代计算愿景。
HN 评论精选
被项目的艺术气质与生活哲学打动,同时也感到距离感。
这东西以一种古怪又时髦的、另类的艺术方式酷着。他们项目背后的哲学动机在我看来如梦似幻,几乎像某种意识形态行动主义,足以让你觉得手头的工作赋予了人生某种独特意义。我羡慕这种冒险与创作表达的生活方式,一种更充实的人类经验的可能性——可我又莫名知道自己永远不可能拥有它,也说不清为什么。
kubb查看英文原文
This is oddly cool a hip, alternative and artistic kind of way. The philosophical motivations for their projects sound dreamlike to me, almost like ideological activism, enough that it'd make you feel that the work that you're doing gives your life some sort of unique meaning. I envy this lifestyle of adventure and creative expression, an idea for a more fulfilling human experience that I somehow know I can never have, but I don't really understand why.
类比 Infocom 的 Z-machine:一次移植即可在众多平台运行,也适合微控制器。
整套东西感觉很像 INFOCOM 当年的做法。大家都知道 INFOCOM 做过 Zork 那类文字冒险游戏。他们选择面向一台虚拟机来创作,这样只需移植一次,游戏就能跑在大量机器上。今天他们的软件依然很容易获取:移植一个 Z-machine 不是重活,做完之后整个互动小说游戏库就都能玩了。Uxn 也许很适合作为微控制器和其他小型系统的目标平台,会挺好玩,也能成为人们探索和继续构建的小型软件的来源。太酷了,我第一次读到这个。
ddingus查看英文原文
This whole thing feels like the INFOCOM way of doing things. Everyone probably knows, but INFOCOM did the Zork type text adventure games. They chose to author to a virtual machine, which could be ported to many machines once, making all their games playable across a ton of machines. Today, their software is very accessible. Porting a Z machine is not a super heavy lift. Once done, the library of interactive fiction games is available. This machine might make a great target for micro controllers and or other smaller scale systems. Could be fun, and a source of smaller scale software for people to explore, build on. Damn cool! First I've read about this.
认同简单虚拟机的方向,但主张比模拟真实硬件更抽象的抽象层。
「我们想做出工具的持久版本,通过使用更简单的系统(Uxn 只有 32 条指令),由于缺乏依赖,我们能构建更有韧性的软件,并在可能时支持更老的硬件。」最近我也一直在想类似的事,但得出的结论截然不同。当然,他们明确限制了自己的用例,这也在意料之中。我大体认同「易于实现的虚拟机」这个想法,但我认为结果不该看起来像真实硬件那样带有内存地址、寄存器、栈这些东西,而应更抽象,把更多实现细节留给解释器/JIT。无论如何,每当看到更多人得出相似结论,我对计算的未来就少一点悲观。
AnIdiotOnTheNet查看英文原文
> We want to produce lasting versions of our tools and games, and by using simpler systems(Uxn has only 32 instructions) we can build more resilient software due to their lack of dependencies, and support older hardware when possible. Lately I've been thinking a lot along similar lines, but have come to a wildly different conclusion about how to do it. Of course, they are explicitly limiting their use-cases so that's to be expected. I generally agree with the idea of a VM that is simple to implement, but I think the result shouldn't look like real hardware with memory addresses and registers and a stack and all that, it should be more abstract and leave more implementation details up to the interpreter/jit. Regardless, it makes me slightly less gloomy about the future of computing whenever I see more people coming to similar conclusions.
推荐同作者的可视化编程工具 Orca,并提到可通过 Patreon 支持。
Hundred Rabbits 的这伙人很有才华也很鼓舞人。我一直很喜欢关注他们的旅程,他们做出的某些软件相当惊艳(去看看 Orca!)。他们有 Patreon,我已经愉快地支持了一段时间。
fra查看英文原文
The Hundred Rabbit folks are talented and inspiring. I've loved following along their journey, and some of the software they've produced is seriously impressive (check out Orca!). They've got a Patreon, which I've happily supported for a while https://www.patreon.com/100.
历次讨论
同类还值得读
开源应用架构
The Architecture of Open Source Applications
《开源软件架构》(AOSA)是一本在线免费书,邀请知名开源项目的作者亲自剖析其内部设计,涵盖 SQLAlchemy、LLVM、Audacity、Apache、Bash 等系统。
编程与软件工程上首页 9 次 · 2011–2024aosabook.org编辑精选编程语言简史:简短、不完整且多半错误
A Brief, Incomplete, and Mostly Wrong History of Programming Languages
一篇以戏谑、故意不准确的方式回顾编程语言史的博客文章,用夸张轶事和讽刺定义串起 Lisp、C、C++、Java、JavaScript、PHP 等语言。
编程与软件工程上首页 8 次 · 2009–2021james-iry.blogspot.comSQLite 是如何测试的
How SQLite is tested
SQLite 官方文档页,系统介绍 SQLite 的测试体系:多种测试方法(TCL 测试、模糊测试、回归测试、静态分析等)和海量测试用例,展示了这个小型开源项目如何靠极致测试获得…
编程与软件工程上首页 8 次 · 2009–2025sqlite.org编辑精选高级编程语言(2009)
Advanced programming languages (2009)
Matt Might 的经典文章,按用途推荐“高级编程语言”:如果追求就业就选主流语言,如果追求表达力、学术研究或创业,则推荐 Haskell、OCaml、Scala 等函数式语…
编程与软件工程上首页 8 次 · 2009–2022matt.might.net我的 Forth 与栈机器经历
Yosefk - My history with Forth & stack machines
作者以亲身经历回顾了使用 Forth 语言和栈式机器的历程:既赞叹其简洁优雅、代码量小、可自举的优点,也坦率指出栈操作在实际编程中的痛苦,以及 Forth 社区文化中的问题。
编程与软件工程上首页 8 次 · 2010–2024yosefk.com编辑精选