I haven't done a proper themed issue in a while. I have been thinking a lot aboutsimplicity, so I thought I'd share that with you today. Simplicity is one of the fundamental values that underlies Clojure. One aspect of that value is that simplicity is objective. It is not to be confused witheasy, which is relative to the observer.
I've been thinking about just how complex our computing environment is. Easy is confused with simple, at the very same time as it makes things more complex, hard to understand, hard to use, and easy to break. We add a new layer on top of older layers, in the name of ease and simplicity, which only makes the system more brittle, slower, bigger, and more opaque. And what do people propose to fix the problem? Another layer!
We need to take a step back, and, dare I say it, start from a clean slate? We have learned a lot as a field of study and a field of industry. Our software obviously does not get better by accreting new code on top of old code. We should take our hard-earned knowledge and start again, from first principle, again and again, incorporating our learnings in each iteration.
I know it's a pipe dream, but we should all dream and explore and reach for values. Enjoy the issue.
P.S. I love hearing from readers. Just reply to this email!