this post was submitted on 22 Feb 2026
12 points (100.0% liked)

Programming

25758 readers
303 users here now

Welcome to the main community in programming.dev! Feel free to post anything relating to programming here!

Cross posting is strongly encouraged in the instance. If you feel your post or another person's post makes sense in another community cross post into it.

Hope you enjoy the instance!

Rules

Rules

  • Follow the programming.dev instance rules
  • Keep content related to programming in some way
  • If you're posting long videos try to add in some form of tldr for those who don't want to watch videos

Wormhole

Follow the wormhole through a path of communities !webdev@programming.dev



founded 2 years ago
MODERATORS
 

This is an article that influenced me a lot and made me understand the core idea of functional programming style.

Perhaps it clicked with me because I am a physicist. Physics describes changing objects - rigid bodies, atom quantum systems, electrodynamics - by equations. But the equations are functions: a set of quantities and states goes in, and a new state comes out. The functions by themselves are timeless.

And yet you can describe a rocket with this.

Clojure and pure functional programming applies that to software.

And it works! You can simulate a rocket with it, as aphyr showed in his brilliant example.

Clojure has, by default, no changing variables. Every value is immutable, like a string or a tuple in Python. As modifying a string in Python creates a new string, modifying a dictionary, vector, set or list in Clojure creates a new collection object. This is not as efficient as Rust, but stunningly elegant and very well suited for things like concurrent web servers.

More information on clojure here:

https://clojure.org/about/rationale

(aphyr has also written an introduction to Clojure, "Clojure from the Ground up"', and there are several other really good ones on-line, like "Clojure for the Brave and true".)

no comments (yet)
sorted by: hot top controversial new old
there doesn't seem to be anything here