I keep bouncing off the Scheme language
Recorded: May 24, 2026, 2:59 p.m.
| Original | Summarized |
I keep bouncing off the Scheme language | Structure and Interpretation of Computer Programmers Skip to content Structure and Interpretation of Computer Programmers From programmer to software engineer. HomeBlog ← On industrial relations I keep bouncing off the Scheme language Posted on 2026-05-22 by Graham 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.
About Graham View all posts by Graham → This entry was posted in GNU, tool-support. Bookmark the permalink. ← On industrial relations Leave a ReplyYour email address will not be published. Required fields are marked *Comment * Name * Δ Chiron Codex: helping software engineers become centaurs. APPosite Concerns A collection of essays on being a programmer, on doing programming, and on thinking about programmers. Support This SiteIf you like what I do please support me on Ko-fiFSF Structure and Interpretation of Computer Programmers Proudly powered by WordPress. |
The author expresses a deep appreciation for the Scheme programming language while acknowledging a persistent difficulty in internalizing its way of thinking. This difficulty stems from a conflict between the author's established cognitive framework, which is rooted in the ALGOL neurotype, and the principles of Scheme. The author typically approaches programming problems by focusing on the sequential order of instructions and the specific memory locations required to track information. This mindset is largely shaped by decades of experience in Object-Oriented Programming (OOP), utilizing paradigms derived from Simula, such as Java and Smalltalk-80, which rely on a different conceptual structure than functional or symbolic approaches. This reliance on the ALGOL-based mindset, while providing competence in other areas, has created a barrier when attempting to master Scheme. Although the author possesses sufficient capability to read Scheme code and understand concepts demonstrated by others, this understanding does not translate into the ability to think idiomatically in Scheme. Attempts to apply this knowledge during investigations into AI coding assistants resulted in creating environments using Racket, where the author felt comfortable following the generated code and trusting the results, but the core cognitive shift remained elusive. The author recognizes that this cognitive divergence has led to repeated failures in adopting the Scheme perspective, evident in recent attempts at web application projects. For instance, when considering tools like GNU Artanis for projects such as SE100, the author invariably reverted to their familiar ALGOL mindset, selecting languages like Go for the catalog itself. This admission highlights a struggle to embrace less familiar tools and develop the necessary intellectual flexibility to operate within the ecosystem of Scheme. Ultimately, the author recognizes that contributing to the Scheme ecosystem, for example, through projects like GNU Guix and GNU Shepherd, requires overcoming this ingrained preference for more complex, familiar methods and accepting the role of a junior developer with unfamiliar tools. |