Fork me on GitHub
#clojuredesign-podcast
<
2020-03-17
>
nate02:03:14

@cb.lists Hello and welcome to the show. Glad to hear you're enjoying them. You bring up a really good idea for discussion. I can't think of any code bases off the top of my head, but maybe someone else in this channel could offer up one that they've found useful. I totally agree that reading code is a good way to learn how a language is used. In the small, maybe reading through advent of code solutions would be helpful: https://www.reddit.com/r/Clojure/comments/e4lsbk/advent_of_code_2019_in_clojure/

Cris B02:03:44

Thanks @nate- I've kind of avoided Advent of Code, thinking of it as a competitive thing (not my style), but in truth that's based on no actual information at all. I shall take a look. I've sometimes found stdlibs to be good sources of stuff to read. Depends on the language - golang's I found very informative, Rust's less so at least from a superficial look (too much atypical unsafe code). I wonder where Clojure's sits - I imagine there's more java interop stuff there than an app developer would normally want to write.

nate02:03:51

I understand staying away from competitiveness. I can never keep up, so I'm usually just challenging myself. One very useful thing is to implement a problem and then go look at a very experienced clojure dev, like Mike Fikes or Bruce Hauman, and see how they approached it. Sometimes it would take a while just to understand what was going on with their code, and I always learned something.

nate02:03:47

Reading clojure libs can be uneven. Depends on how far the author goes down the meta programming rabbit hole. I've enjoyed reading the ring source recently. Nearer the other end of the spectrum sits aleph, it's wonderful but mind bending under the hood.

nate02:03:56

The other issue with reading libs is that it doesn't really help with how to structure your main app source. There was a discussion around that topic in another channel the other day. I'll try to dig it up.

Cris B03:03:44

Yep, I think of libs as possibly good sources of idiomatic code, but you're right, at some point you need app-level code to get a good handle on the larger organisational issues. I'm too early in my clojure journey to want my mind bent too far out of its already idiosyncratic shape so perhaps aleph is for another day! You're AoC suggestion is a good one.

nate03:03:14

Cool. Have fun and keep on learning.

Stefan07:03:12

@cb.lists I can also recommend joining the Clojure track on http://exercism.io, in mentored mode if places are still available, but even in practice mode I found it useful because you can easily browse through other people’s solutions. It’s not always easy to derive what is the “idiomatic” way of doing things, but you’re going to see alternative solutions for sure, and that is very enlightning I find.

Stefan07:03:21

All this corona-forced-working-from-home has led to a bit of a problem for my, by the way: since I don’t have my commute, I don’t find the time to listen to all my podcasts. But I’ll catch up, I promise!

Cris B07:03:59

@stefan.van.den.oord Thanks I had kind of forgotten about exercism. I've used it in past, but when I looked into it last year for Rust the student/mentor ratio was out of control. I do enjoy seeing others' solutions to things I've tackled though, so practice mode could still be worth a look.

Stefan07:03:52

Yeah that ratio can be an issue. I did the Haskell track recently, and there it was quite good, answers within 1 to 2 days generally, but I think the Clojure track may be a bit crowded…

Cris B07:03:27

Just had a quick look - Clojure & Haskell have similar numbers, with Rust having far more students (I guess it must still be cool - must be nearly time for something else to take that spot?). I'll give it a try for Clojure - feedback is nice to have.

Bobby Towers07:03:03

Hi, I'm one of the maintainers over at Exercism, and we're actually hard at work rolling out a whole new platform (set to launch this June) in order to address this very issue of excessive wait times.

👍 8
Cris B09:03:24

@porkostomus - cool, will be interested to see what you come up with. It does seem inherently difficult given the inevitable imbalance between mentor & student numbers.

Bobby Towers10:03:14

It's largely a community of students who go on to become mentors. That's how I got into it, having gone through the track it seemed like the natural thing to do in order to level up 🙂 So the hope is that by enhancing the curriculum and learning experience, more people will want to become involved.

👍 4
nate19:03:40

Seems apropos.

Cris B20:03:18

Thanks @nate looks like there are some useful learning resource there (parens of the dead looks like fun). I'm constantly impressed by how much work devs are willing to put into making this kind of thing available.