Functional First!
Clojure was the one that showed me that immutable data is a thing and OOP Java is not everything. Cause Java was my first, my native, my be all and end all. I was a Java developer for 10 years before I discovered Clojure. And it was a revelation!
Compare two approaches to summing numbers โ imperative with mutable state:
(let [sum (atom 0)]
(doseq [n [1 2 3 4 5]] (swap! sum + n))
@sum)
And the same thing, functional and declarative end to end:
(reduce + [1 2 3 4 5])
A typical day's command-line workflow:
cd lemonade
lein new-post "Today's reflection" --tags daily
lein static
I learned that functional programming is not just a buzzword, it's a way of thinking about problems that leads to simpler, more maintainable code. Clojure's emphasis on immutability and pure functions has changed the way I approach software development.