code, beauty and art.
Like all forms of human communication, code for computer programs can contain expressiveness, humour, beauty, ugliness… As a coder you recognise beautiful code as a passage that does something with data using brevity and efficiency, where meaning and capability are neatly tucked into a clear and concise passage. That is poetry.
Coders are makers. Coding and computational thinking (and probably engineering generally) have become dominated by corporate thinking. Computer scientists and engineers are trained and encouraged to think like a part of the production line, to become framework administrators, and feel comfort in the obfuscation of their craft, keeping computer programmers an exclusive bunch, separate from real society. But there is something more personal, expressive and nuanced in the potential of code.
Code is a craft that can be mastered, but is not the exclusive domain of masters. Open source knowledge, code and hardware and a general accessibility to coding ability means more and more programs will be written to answer more everyday human needs. A critical mass will place the tools in more expressive minds. Can anything other than human expression emerge?
But as art? How do you measure and assess that? The existence of a canon? It’s early days for silicon-based computational thinking, but the thinking that goes into abstracted computation and programming has a rich history tracing back to Ava Lovelace and beyond.
As a form, computer programs live at multiple layers: Firstly the raw code, mostly private and sometimes shared with others that understand. Code allows space for comment, in-jokes, references and as a form in itself, pure beauty. Then the published program, where no code is visible, running on desktop, a phone or on the web is only complete when someone is using it. Then it becomes a thing of human interaction and unpredictable outcome. When a person is enabled, in human value terms, by the program you wrote, or one they wrote themselves… it’s a beautiful thing.