Eskil came up for a workshop the other month. It turned mostly into a lecture, but a beautiful one. It made me realize that C is a canvas we can transform in many ways. Eskil invented his own rigorous naming conventions and coding rules, and through that made C an incredibly easy to use language. But moreover, it was also fun to use and the apps made by it were beautiful, fun, inspiring. He took his coding beyond just thinking about function.
It reminds me of this article I saw earlier today. The article is about design, but I read it and was reminded of code that inspires me. From the article:
Look at the stone ax, designed millions of years ago. The earliest human beings created the tool, every one of them completely symmetrical, because we liked it that way, Sagmeister explains.
“It didn’t have to be symmetrical because of the functioning – you could skin that mammoth just as well with a non-symmetrical stone ax. But every one of them was symmetrical because we thought it was more beautiful.”
Even before had language, we knew beauty.
We have metrics we have to follow. In fact, this is more true of my field (compression) than many fields.
And yet there's beauty everywhere. Coding style patterns that aren't just there for function, but for the joy that comes from using them. Very often we run into a problem and can solve it or write a solution in many ways, but we choose the path that makes us the most happy.
The metrics make it even more fun. It's like saying-- make a painting with exactly this ratio of red and blue colors. Having limits makes our creativity that much more interesting, inspiring, and beautiful.
Just a few years in this industry burnt me out a bit, and I'm healing and starting to enjoy the beauty in what I do more every day. I'm lucky to work with Rich, because even after 20 years in this industry he still approaches code this way. He reminds me constantly that code is just another form of human expression, with interesting limitations and goals that must be met. There are many ways to write code, and the act of writing software can be a beautiful, joyful, interesting experience.