I'm constantly reminded of how difficult programming is. Our languages start out high in complexity. And there is so much opportunity to increase the accidental complexity of our software. And that's on top of the essential complexity of the domains we deal with. One of my main tricks as a programmer is to keep one of my mental cores busy looking for ways to remove complexity. It really helps because complexity doesn't add up—it multiplies. So one dedicated core reducing complexity might save three or four cores of accidental complexity.
I'm not an awesome programmer. I know people who can keep the whole stack in their heads at once. I can't. I have to reduce the number of things I have to keep in my head or I can't solve the problem. That's one of the reasons I like Clojure. Its not perfect. It's not the best I can imagine. But there are many choices that free my brain up to think about the practical problems in life.
Sponsor: PurelyFunctional.tv Online Mentoring
You're looking into a career change. But you worry that you will face difficulty trying to get your first job in Clojure, since the niche is small and you've got limited Functional Programming background. How can you get clear on exactly what the hurdles and requirements are on the way there?
PurelyFunctional.tv Online Mentoring is designed to smooth out the learning curve, get you programming as soon as possible, and fit into your busy schedule. The lessons cover a broad range of topics, from beginner skills, to libraries, to deploying production code. You get the skills to succeed with Clojure. The program has just started, so you can subscribe today.
Clojure Remote is the first online conference for Clojure. The CFP is now open. This is your chance to speak! Share your Clojure knowledge.
Designing for Performance Youtube
Martin Thompson presents the hard truths about programming for performance, regardless of the language.
Fun with Lambdas Youtube
Corey Haines shows how to build Peano numbers using only lambda calculus. It's written in an easy to follow style in Ruby.
Learning How to Learn Youtube
Barbara Oakley is amazing. She explains the neuroscience behind learning in such an easy to understand way. Anyone who needs to learn should watch this.
Stuart Sierra reviews Clojure Applied. I agree with most of this. It's an excellent book and if you've been considering getting it, this may help you decide if it's right for you.
clojureD is a cool conference in Germany. Their CFP is open so submit your Clojure talks.
Kolmogorov Music Youtube
Chris Ford again uses music to dazzle the audience.
A great episode of the Functional Geekery interviewing Christopher Meiklejohn. Topics include how he got into distributed systems, Lasp, and eventual consistency.
After so many years, this book is still the best book teaching programming ever. It is a case study in how a book can teach hard concepts and engage the brain.