Difference of perspective is a weird thing. From one perspective, the planets orbit very easily describable elipses around the sun. From another, they chaotically orbit the Earth in complex circles within circles within circles. From some perspectives, Clojure looks simple and straightforward. From others, it's unnecessarily complicated and scary.
For many of us, Clojure represents a total paradigm shift, similar to the copernican revolution. The art of teaching it is to guide someone to seeing that the new perspective is not only valid but also more useful.
I bet a lot of astronomy students, memorizing tables of epicycles, shook their fists at the gods for making everything so complex. It is indeed complicated when you use epicycles to track the planets. And it takes a real leap of the imagination to put the Sun at the center of it all, as opposed to the Earth. But when you do, without changing a thing, everything looks way simpler.
I think a lot of people face this paradigm shift without a guide. Giving a new perspective when an existing perspective is mostly adequate is so hard. How do you show people something from a new angle in a high-dimensional space without giving them vertigo? Without overwhelming them?
You build small pieces of knowledge. You prepare them for the shift. You train small skills that add up to big skills. You give them lots of exposure over time. You let their neurons connect. And you let them take their time. You draw the mental structure for them, visually, so they can see, side-by-side, that, yes, circles around the Sun are indeed simpler than epicycles around the Earth.
Sponsor: PurelyFunctional.tv Online Mentoring
You're looking into a career change. How can you get clear on exactly what the hurdles and requirements are on the way there?
I have designed PurelyFunctional.tv Online Mentoring 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.
These London-based workshops look awesome.
A cool tool for visualizing the dependency graphs of Clojure projects.
An animation library for Reagent. I have spent so many hours trying to do this kind of animation that this library makes easy.
Fogus, writes about his method for finding the most worthy projects to bring to life.
People are starting to explore Om/Next. In this article, Kovas Boguta explains the "Reconciler", which is apparently a core part of Om/Next.
Although the project has "static" in the name, this is a run-time type checking / validation engine for Clojure.
A nice intro to the most useful CIDER (Emacs clojure-mode) commands.
I'm a fan of Elm. The two guests discuss why they chose Elm and how it has affected their frontend.
I have to plug this awesome Clojure documentation site because I use it all the time. It's fairly well-known and it comes up first in Google for so many searches. If you're not using it, give it a try.