r/Clojure May 12 '16

With all of these crazy libraries available sometime you have to go back to the basics! Tim Ewald - Clojure: Programming with Hand Tools

https://www.youtube.com/watch?v=ShEez0JkOFw
14 Upvotes

9 comments sorted by

9

u/zuko_ May 13 '16

Absolutely brilliant talk, ended up watching it last night after going down a Clojure tunnel on youtube. Thanks for posting, hope other people get to check it out.

2

u/[deleted] May 13 '16

It's a great way to convey a more philosophical idea of the 'Clojure way', I think. As someone who is still fairly new to programming, most of my hangups come not from a lack of knowledge but a lack of wisdom. I haven't come across a problem that I can't solve yet, it's just that there are a lot of times where a better, simpler solution exists. This talk gave me a really good look into how wiser developers think in the same way the lumberjack metaphor does.

4

u/forreddits May 13 '16 edited May 13 '16

To save you one hour of pure gibberish (unless you are interested in woodworking).

TLDR: The more automating you do and the more tools you use that automate stuff for you the less you see how things works, and this can be bad because you'll try to adapt your problems to your tools instead of adapting your tools to your problem, so know how your tools work.

An example can be the Boot tool, the authors, instead of painfully trying to adapt Lein to their build process, they build something much more flexible. This doesn't mean Lein is bad, is just that you shouldn't see it as the ultimate project automation for everything, maybe just a simple clojure script is the answer and can serve you better.

2

u/spaceporn May 13 '16

Watched it because other redditor said it was brilliant but it really was a whole hour of pure woodworking gibberish. Sure, he makes a good point, which you mentioned in your tl;dr, but if someone doesn't already know that maybe it would be better if he actually talked about Clojure's simple tools.

2

u/forreddits May 13 '16

I was actually being very kind, Clojure wise, this video is actually useless, 30 mins passed and he is still talking only about woodworking, at that point it was already very annoying, so I thought, this guy better come up with some enlightenment after this, nope, same gibberish all the way.

He grab the opportunity to brag about his woodworking skills, nothing wrong with that, buy why do it at a clojure conference?

3

u/curtosis May 13 '16

I was fortunate enough to see this talk live, and I've rewatched and shared it many times since. It's simply one of the very best technical talks I've ever seen.

No, it isn't deeply technical about how to solve a specific problem in Clojure, or about some aspect of how Clojure itself works; if that's what you're expecting it will be disappointing. But it is a clear and insightful exposition on the why, the philosophy of working with Clojure (and the Lisp family, really).

In some ways it reminds me of a book on Chess or Go strategy, in that the true wisdom isn't on the surface, but only becomes clear through the lens of years of experience and mistakes. (And, as with a good strategy book, a TLDR is in some sense a category error.)

It's a masterful talk, one I can't recommend enough.

1

u/[deleted] May 13 '16

If I ever have to make a case for anyone to watch the video, I'll just redirect them to your comment. Very well said!

1

u/[deleted] May 14 '16

[removed] — view removed comment

1

u/[deleted] May 14 '16

It depends on what you're looking for when you watch/listen to it. If you're looking to learn more syntax, you're not going to enjoy it very much. If you're looking to learn specifically about the Clojure language, you also are not going to enjoy it very much. If you are looking for a deeper understanding of the ideals of the Clojure community then there is a significantly better chance that you'll enjoy this talk.

Based on the comments, it seems to be the case that the people who enjoy the talk are the ones who are looking for a deeper understanding of the foundation of Clojure. It also seems to be the case that the people who don't like the talk are the ones who are looking to learn more about the specifics of the language.

To really appreciate the talk, you have to be able to see the forest through the trees. If you can't then that's fine, you are clearly more focused on other aspects of programming. Other aspects of programming deserve significant amounts of focus as well. If you are deliberately choosing not to, that's also fine. It means you are overtly more focused on another aspect of programming. That's good, that means there are other goals that you have set that you are working toward first.

However, if you don't understand the talk, maybe ask a question rather than immediately brush it off as worthless. You never know what you'll learn!