Fork me on GitHub
#clojuredesign-podcast
<
2023-11-16
>
neumann21:11:21

What software tool is indispensable for your day-to-day work? Perhaps something that makes you more productive? Or automates the mundane? Or even helps you figure things out in a hurry? Does such a tool exist? If you didn't think of the REPL, then our episode is for you! https://clojuredesign.club/episode/099-repl-your-world/ I can't believe we're almost to Episode 100! As part of the celebration, we're going back to one of our favorite topics: the REPL. What's your favorite way to use the REPL?

🚀 2
Marcel Krcah21:11:24

Thanks a lot for the episode. I had a lightbulb moment realizing that REPL is also an option—next to Babashka, terminal and shell scripts—to write short ad-hoc scripts, such a db queries, api calls with auth, and such; and that REPL can be used like a terminal with the advantage clojure + history captured nicely in a file. quite obvious now in retrospect, but it hadn't occurred to me before.

neumann01:11:34

@U0609QE83SS That's great to hear about the lightbulb moment! Thanks for sharing! In case you haven't heard it, in https://clojuredesign.club/episode/012-embrace-the-repl/, you can hear all about how I was really slow to use the REPL. Now I don't want anyone else to miss out!

Marcel Krcah20:11:15

Thanks a lot, I want to check that one out as well. The more I listen to episodes, the more I enjoy that lightweight short-nugget format, and am kind of struggling with deciding what to listen to next 😅

neumann16:11:08

The Tic Tac Toe series (Ep 002-005) is definitely a must, but I'm assuming you've listened to it. I like the https://clojuredesign.club/episode/015-finding-the-time/. We actually have code samples for that one too!

Marcel Krcah20:11:47

Not yet, actually, those are also on my list 🙂 thx for the recommendations

👍 1
ander02:11:25

Great episode. I was sure that Clerk was going to get a shout out, especially during the discussion on the REPL as a primary interface to an application. Clerk feels like it's a perfect match for this

neumann16:11:40

@U3G7UB7C7 Ah yes! We should have mentioned it. I know we've brought it up before, but bringing up Clerk would have definitely fit right in for this episode.

Jason Bullers15:11:19

My two cents on the discussion above: different people are going to find different mediums and approaches to learning work better or worse for them, and I think that's also a function of where you are currently in your learning and dev knowledge. For me, design in Clojure isn't something I am going to learn as any sort of objective thing or recipe by reading a Clojure book. The books are fine for learning idioms and syntax, but design is all about tradeoffs and learning how people with experience in the language and paradigm think. I have a strong enough base in software design in OOP that learning recipes isn't sufficient for me: I need the mental models. I've yet to find good software books that do more than give a surface treatment to tradeoffs. They tend to hand wave a lot and pay lip service to the fact that there are tradeoffs, but they don't help me build my intuition with heuristics: they don't teach me to think a different way. I've gotten a lot of that skill over my career through reflection and talking to other developers. The format of this podcast being a conversation that I can listen to fits well with that. This podcast has helped reframe the way I think about problems and build my Clojure toolkit. But! It's a really slow burn. I would certainly recommend this podcast, but like a lot of good TV shows, you have to "get through the first season before it gets good" in the sense that cherry picking episodes isn't really going to be useful and teach you things in isolation. The value I've derived from the podcast comes from listening to all the episodes (sometimes multiple times), thinking on what's been discussed, and reflecting on how it aligns with my OOP experience and personal exploration of Clojure. It's kind of like, over time, @U5FV4MJHG and @U0510902N work their way into your brain and slowly change the way you see Clojure code. There aren't direct answers like a cook book, but you slowly figure out what it means to be a chef. Or it's just not for your preferred way of learning (at all, or at this time), and that's okay too. 🙂

neumann16:11:43

@U02PB3ZMAHH Thank you! I think we got the term "connected editor" from somewhere else, but I can't remember where! Maybe @U0510902N knows!

neumann16:11:17

@U05MPHVTGPK, good point. I agree that the podcast isn't so much about getting your footing in Clojure. This discussion thread gets me thinking that we should mention the purpose a bit more clearly. Thanks for the feedback!

neumann16:11:05

@U04RG9F8UJZ, I like what you're saying about developing a mental model. I think you nailed it! I can turn around and point to others I've spent hours talking with who have shared their perspectives with me. Over the years, those perspectives have completely transformed me as a programmer. Reframing the way you think is so profound! Thank you for taking the time to think about that and share!

nate17:11:47

Haha. I can’t remember where I first heard “connected editor”, but I remember it instantly conveying the concept better than REPL driven development.

neumann17:11:33

@U0510902N This is a whole rabbit hole now. I searched google for "connected editor" REPL and I see a bunch of "REPL-connected editor" results, but they are recent. If I limit the search to all matches prior to Dec 31, 2019, the earliest results that comes up is: https://clojuredesign.club/episode/023-poster-child/

nate17:11:03

Interesting. Also shows that we’ve been using the cake metaphor for longer than the composition series.

neumann17:11:27

That metaphor composes really well with our podcast!