我一直无法理解 Scheme 语言。
I keep bouncing off the Scheme language

原始链接: https://www.sicpers.info/2026/05/i-keep-bouncing-off-the-scheme-language/

尽管作者以一本经典的 Scheme 教材来命名他们的博客,但他们承认在内化这门语言时遇到了困难。虽然他们能够轻松阅读 Scheme 并理解其逻辑,但很难用 Scheme 的方式去“思考”,因为他们的问题解决过程早已根深蒂固于“ALGOL 神经类型”——即那种由 Java、Smalltalk 和其他面向对象语言数十年经验所磨炼出的、顺序式的、基于指令的思维模式。 这种认知偏见常常导致作者即使打算用 Scheme 构建项目,最终还是会退回到 Go 等熟悉的工具上。然而,作为 GNU Guix 和 Shepherd 的忠实用户,作者决心克服这一障碍。他们认识到,打破这种循环需要保持谦逊——即愿意在掌握陌生范式时,甘愿做一个“初级开发者”。这篇文章是作者向公众表达的意愿声明,旨在弥合他们对 Scheme 的欣赏与其实际编码能力之间的差距。他们邀请读者监督自己实现这一持续的目标。

```Hacker News 最新 | 过往 | 评论 | 提问 | 展示 | 招聘 | 提交 登录 我一直在尝试学习 Scheme 语言却屡屡受挫 (sicpers.info) 39 点,由 ingve 发布于 2 小时前 | 隐藏 | 过往 | 收藏 | 2 条评论 | 帮助 gus_massa 31 分钟前 | 下一条 [–] 你可能会喜欢 Rhombus,它用类 Python 的语法实现了 Racket 的全部功能。 官方文档:https://docs.racket-lang.org/rhombus/index.html 小型示例集合:https://github.com/racket/rhombus/blob/master/demo.rhm 回复 veltas 5 分钟前 | 上一条 [–] 有没有可能你是因为太笨才写不了 Scheme?因为我觉得我就是这样,我也尝试过几次,但都以失败告终。 回复 指南 | 常见问题 | 列表 | API | 安全 | 法律 | 申请加入 YC | 联系 搜索:```
相关文章

原文

I have a huge appreciation for the Scheme programming language. I just seem to be unable to get it to stick in my head. This seems like a huge revelation for someone who named their blog after the Scheme textbook, but there it is. This post is the public admission I need to make, to keep me accountable for trying again. And again.

One problem is that I’m an inconsistent LISPer. The first software I ever got paid for was an Emacs major mode for the GLE plotting language, which didn’t do much beyond syntax highlighting. But I didn’t really get deeply into Emacs customization or automation, so I still have to look at the manual or my outdated copy of Writing GNU Emacs Extensions whenever I want to do anything.

I’m OK at reading Scheme. During my investigations of AI coding assistants for the project that became Chiron Codex, I created a Smalltalk-like live environment with a module browser for the Racket dialect. Obviously an LLM generated the code, but I felt comfortable following along and understood what it was doing, reading and Trusting the Tests. And when I look at Scheme that other people have written, I think I get what’s going on.

My difficulty is with thinking the way that lets me write Scheme. I have the ALGOL neurotype. When I think about a programming problem, I think in terms of the sequence of instructions I need the computer to do, and the memory locations that can hold the information the computer needs to track. After decades of working with OOP, I can quickly identify smaller computers that run smaller programs to make it easier, but only because I’ve got experience using the Simula-derived, neurologically ALGOL-based OOP strands like Java and Smalltalk-80.

This is, unfortunately, a failure that breeds failure. I’ve started two web app projects recently, including SE100, the reading list for the SICPers podcast. In each case, I’ve thought about using GNU Artanis but ultimately fallen back into my ALGOL mindset (the SE100 catalog uses the Go programming language, for example).

I think Scheme makes for some powerful software that’s pleasant to read: when I use Linux, I use GNU Guix and GNU Shepherd. I want to contribute to that ecosystem, I just have to get over the hump that I know the other, more complex way better, and be willing to play junior developer with some unfamiliar tools. This is my admission. Check back in a while to hold me accountable to this.

I make it faster and easier for you to create high-quality code.
联系我们 contact @ memedata.com