This page is not created by, affiliated with, or supported by Slack Technologies, Inc.
2023-09-22
Channels
- # babashka (106)
- # beginners (29)
- # biff (29)
- # calva (9)
- # cider (6)
- # clj-kondo (24)
- # clojure (40)
- # clojure-europe (94)
- # clojure-japan (1)
- # clojure-nl (1)
- # clojure-norway (45)
- # clojure-uk (13)
- # clojuredesign-podcast (5)
- # clojurescript (12)
- # clr (4)
- # community-development (2)
- # conjure (13)
- # cryogen (4)
- # cursive (4)
- # deps-new (1)
- # fulcro (18)
- # hugsql (2)
- # hyperfiddle (67)
- # jobs (1)
- # malli (47)
- # meander (2)
- # missionary (34)
- # off-topic (1)
- # podcasts-discuss (1)
- # polylith (24)
- # reagent (19)
- # reitit (9)
- # sci (7)
- # shadow-cljs (3)
- # testing (28)
- # tools-deps (1)
- # xtdb (9)
We’re back! After some time away, Nate and I are excited to banter about Clojure. We’re starting a series about long-term productivity in Clojure, and you can find the first episode here: https://clojuredesign.club/episode/091-combo-boost/ Since it’s been a while since our last episode, you may want to check your podcast app to make sure you’re subscribed to get new episodes. Send us your feedback. We’d love to hear from you!

I listened last night. Excited to hear the rest of the series! This one was a little light on content, but it sets the stage. I liked the point near the end of there being analogues to familiar OOP concepts, so it's not like you need to repeat the 20 years of experience to become skilled at this new way of thinking. I've definitely found that to be true, and other languages already give a starting point, even Java. For example, even before Java introduced lambdas with jdk8, you could already do things with map, filter and reduce, either with libraries like Guava or on your own. And it wasn't a crazy leap really, it was something you could refactor toward by extracting the part that changes from the part that stays the same. Even with anonymous classes being the only mechanism, you could have HOFs; lambdas just made it that much more expressive. Similar with immutability, where, especially if you work on a multithreaded system, you've likely adopted it. And with Java records, it becomes much more expressive to create value types. What I'm hoping to hear in later episodes is some insight on how to put those things together using functional design principles, specifically around how to organize or architect larger systems. There's so much out there for OOP around repository patterns and coding to interfaces. I'd like to better understand how to put together my "bags of data" and my functions in a way that's not just going to turn into an unwieldy mess as the project grows.
Kudos!!!! I saw it download this morning, and at first, I thought it was a mistake. Congratulations! I can’t wait to listen to it later today!
@U04RG9F8UJZ Thanks for listening and I love the feedback. I’ve been mulling over how to approach a discussion over large project organization. I’d love to talk about it! As you’ve mentioned in your own blogs, Clojure opens up new approaches for solutions vs OO. The differences can run deep. I’ll be thinking about it.
@U6VPZS1EK Thanks! I’d love to hear your thoughts if anything pops into your head while listening.
I listened last night. Excited to hear the rest of the series! This one was a little light on content, but it sets the stage. I liked the point near the end of there being analogues to familiar OOP concepts, so it's not like you need to repeat the 20 years of experience to become skilled at this new way of thinking. I've definitely found that to be true, and other languages already give a starting point, even Java. For example, even before Java introduced lambdas with jdk8, you could already do things with map, filter and reduce, either with libraries like Guava or on your own. And it wasn't a crazy leap really, it was something you could refactor toward by extracting the part that changes from the part that stays the same. Even with anonymous classes being the only mechanism, you could have HOFs; lambdas just made it that much more expressive. Similar with immutability, where, especially if you work on a multithreaded system, you've likely adopted it. And with Java records, it becomes much more expressive to create value types. What I'm hoping to hear in later episodes is some insight on how to put those things together using functional design principles, specifically around how to organize or architect larger systems. There's so much out there for OOP around repository patterns and coding to interfaces. I'd like to better understand how to put together my "bags of data" and my functions in a way that's not just going to turn into an unwieldy mess as the project grows.