from Hacker News

Blacksmithing and Lisp

by 082349872349872 on 4/3/25, 8:34 AM with 83 comments

  • by unoti on 4/6/25, 3:40 PM

    > you can work on your problem, or you can customize the language to fit your problem better

    There’s a thing I’m whispering to myself constantly as I work on software: “if I had something that would make this easy, what would it look like?”

    I do this continuously, whether I’m working in C++ or Python. Although the author was talking about Lisp here, the approach should be applied to any language. Split the problem up into an abstraction that makes it look easy. Then dive in and make that abstraction, and ask yourself again what you’d need to make this level easy, and repeat.

    Sometimes it takes a lot of work to make some of those parts look and be easy.

    In the end, the whole thing looks easy, and your reward is someone auditing the code and saying that you work on a code base of moderate complexity and they’re not sure if you’re capable enough to do anything that isn’t simple. But that’s the way it is sometimes.

  • by Animats on 4/6/25, 1:07 PM

    The classic issue of who made the first tongs could be inserted here, with some hammering.

    (It's a classic legend. There is an Islamic legend that Allah gave the first pair of tongs to the first blacksmith because you need a pair of tongs to make a pair of tongs. There's a Nordic legend that Thor made the first tongs. In reality, somebody probably used a bent piece of green wood, which didn't last long, but could be easily replaced.)

    His piece "Vibe Coding, Final Word"[1] is relevant right now.

    [1] https://funcall.blogspot.com/2025/04/vibe-coding-final-word....

  • by kazinator on 4/3/25, 8:18 PM

    The truth is that when you tap softened tongs around a workpiece into shape, they turn into parentheses. That's what reminds you of Lisp, not the malleability explanation that you invented afterward.

    Lisp, Jazz, Aikido and (now) Blacksmithing.

  • by WillAdams on 4/6/25, 8:17 PM

  • by FredPret on 4/6/25, 3:11 PM

    It'd be interesting if we could draw up a family tree of tool fabrication for any object.

    The root object would be two rocks brought together in a bang heard 'round the world, then perhaps some sharpened sticks, all the way up to a Colchester lathe somewhere in Victorian England and the machinery that made whatever object we're looking at.

  • by hyperbrainer on 4/6/25, 2:45 PM

    Any sufficiently complicated piece of code contains an ad-hoc implementation of Lisp.
  • by MortyWaves on 4/6/25, 3:07 PM

    I just don’t get the analogy he’s trying to draw here
  • by hdkdicnsnjes on 4/6/25, 12:29 PM

    Imagine the software industry if lisp was mainstream.