Clojure Gazette 1.72

Simplicity

Clojure Gazette

Issue 1.72April 13, 2014

Editorial

Hello!

I haven't done a proper themed issue in a while. I have been thinking a lot about _simplicity,_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 with easy, 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.

Sincerely,
Eric Normand

P.S. I love hearing from readers. Just reply to this email!

Hickey

Simplicity Matters

Rich Hickey defines "simple" etymologically and distinguishes it from "easy". In everyday life, we tend to use the two terms interchangeably. Hickey discusses why these two concepts are different and why we should strive for simplicity. This talk (and this similar talk ) is the best technical explanation of simplicity.

Brodie

Thinking Forth

Leo Brodie delves into the philosophy of Forth, touching on many topics, including designing programs and the necessity for simplicity. Forth is one of those wonders, like Lisp, that has found an incredibly powerful amplifier for pro

Moore

1x Forth

Chuck Moore creates the Forth language. I say "creates" because it is an ongoing creation---still evolving. In one of his many Fireside Chats, Moore explains some of his thinking about complexity and simplifying the Forth language itself. I have linked to a transcript with a downloadable video file. A Youtube version is available .

Kay

Alan Kay Turing Award Lecture

Alan Kay talks about many topics in his lecture, but one that underlies the whole is the complexity of our computing world and how we should delight instead in simplicity.