Fork me on GitHub
#clojuredesign-podcast
<
2023-11-23
>
neumann16:11:09

What surprised us about Clojure that we now can't live without? Why did we start podcasting? Who has helped us along the way? Join us as we reflect on Clojure, the community, and how much we have to be thankful for. https://clojuredesign.club/episode/100-thanks-overflow/ We made it to Episode 100! Thank you to all of you who have listened, provided feedback, and generally cheered us on. We appreciate it so very much!

❤️ 6
Michael Nardell03:11:54

Really enjoyed listening to this episode. Thanks!

genekim17:11:02

Kudos on another great episode! (And all I can say is, “aww, shucks…” I continue to be such a fan of your work, and am so delighted that you’re creating more of these episodes. Truly inspiring, on so many different dimensions! 🎉 🙏 Thank you!)

💯 2
❤️ 2
Jason Bullers20:11:20

@U5FV4MJHG mentioned working on concurrent systems, and that's a very similar entry point for me as well. Several years ago, I was building a system in Java where meteorologists could collaboratively edit graphical representations of high impact weather (think Google docs but with polygons representing areas of high winds or precipitation). So now we've got three threads in play operating on the same data: the GUI thread modifying objects in response to mouse events, a background thread receiving changes made by another user, and another background thread collecting scene graphs for all the renderable objects. It was while working on this system I learned about Clojure and was able to take concepts like separation of state, time, and identity and all the great stuff from Rich Hickey's "value of values" talk and weave it in to the design. Of course, you have to do a lot to make it work (you can make your objects immutable and swap them, but what about the collections of those objects and things you don't directly control etc). @U5FV4MJHG has called this "careful programming," and it absolutely is. Clojure's choice to lean hard into immutability is fantastic, because I never have to waste brain cells on it. Someday, I'll wrap my head around how to architect and build a similar OOP-heavy system entirely in a functional language, and then watch out world! 😂

neumann23:11:17

@U6VPZS1EK Thank you again!

neumann23:11:18

@U04RG9F8UJZ Yes! Even if you can't use Clojure, the approach is still valuable. Of course it's nice when the language makes it the default way. Apparently the tradition of "careful programming" extends far into the past. I was watching a talk by @UBDURNQKU about it: https://www.youtube.com/watch?app=desktop&amp;v=6YbK8o9rZfI

JR23:11:08

As I was listening to the end of the podcast, I had the same reaction as @U6VPZS1EK. Aw, shucks. So wholesome! We're all thankful for you too!

practicalli-johnny04:12:22

Thank you for the Practicalli thank you, most appreciated. You have both enlightened and entertained me with your discussions and helped make my commercial and community work better too.

gratitude 1
😊 1
neumann20:12:40

@U05254DQM Thank you again!