When I started programming, my whole day revolved around development. I’d wake up, write code, and go to sleep. And that’s how it was day in and day out. My entire social circle consisted of people who also wrote code. I studied frameworks, libraries, and various programming languages.
Where this falls flat for me is, opportunities to write code that people will be willing to experience directly are rare. Much of it doesn’t even allow them to do so, or at least programmatically crams it all together in an unintelligible mess (ie. the javascript rendering a typical website). How can something be art if the audience is kept away from it? But even when it’s like that, people will still do it without a financial motive. You can still have a result in mind and go through the process of finding the shortest path to it, and that can still be art, even if some of the materials aren’t. Even if it’s not art, it’s exercising power, it’s desirable regardless of money.
That said, I do think there is something really special about code as writing, where it is written to be read and understood and making full use of it necessarily entails doing so. Shared awareness of abstract structures is really underrated.
Far more to art exists than what you see as an audience member - when you watch a film, you do not know or care about the camera the cinematographer used, but it shapes what you experience. When you go to a live music show, you can’t hear the cues and countdowns in the performer’s ears that make sure everything happens in perfect time, but they are as essential to the performance as the lights that colour the stage. And yet it is a part of the art nonetheless - something does not have to be seen to have meaning or to be part of a performance.
For a lot of open source projects, there is a significant audience viewing the code itself rather than just what it does. There’s encouragement for the user to open the bonnet and look at it and also tinker with it themselves. Even if you don’t do that, there’re still ways that the craftsmanship can show through and leave the user thinking about how it was made and how it works, and there’s plenty of conventional art where the point isn’t to think about the final product but instead what went into creating it.
As for the minified JavaScript in a typical website, it’s not that different to graphic design where achieving a purpose for a business can come ahead of any priorities related to being art. Even if we say for the sake of argument that graphic design for commercial purposes is never art, it doesn’t automatically mean that anything else that uses the same techniques, like drawing, can never be art.
There are also kinds of art that people produce that are never intended to be experienced by anyone else, e.g. a doodle in a diary, so I’d say there could still be art in code that was only ever seen by its creator and which was totally obfuscated when given to users as an app or website.
I guess the main thing I want to get across though is, there’s more here than just these two types of motivations, the instrumental business coder and the beauty driven purist, and this isn’t just about AI, there are so many potentially ugly tools and practices out there that are widely used anyway. Personally as a hobbyist who doesn’t program for money anymore, I’m going to do things the way I want to do them and the main thing I normally want to do is get something working quickly that I can see how the top level concept works in reality before I get lost in the weeds and lose interest. I have (often strong) feelings about the code itself, and really appreciate seeing something done the way I feel it should be, but these are situational. And they are tied to how the code itself serves its purpose. For instance a case where the user cannot or should not have to trust the developer, and so the overwhelming focus of the design is accessible verification of the application’s security properties, that’s awesome to me. So when the author of the blog post says this:
I think they are missing some stuff. This can’t be reduced to just being about isolated enjoyment of the process. We have a relationship to the software we write and use, and the nature of that relationship matters and has consequences. And caring about that isn’t synonymous with use or rejection of any particular tool.