/dev/urandom's dev site

Is software art?

This is sort of a continuation of the post about what generative AI boosters are missing about art, where I expressed an opinion that even if generative AI eventually becomes capable of creating legitimately beautiful texts or images or musical tracks, people would still treat generated works as “slop” and not want to engage with them.

I believe that the opinion I expressed there is, overall, a harsher opinion than the one I hold on AI-generated software (which I dislike, but can tolerate in specific circumstances). Software, a lot of people argue, is also a kind of art. While I largely agree (pretty much anything other than the most basic piece of software will reflect the author’s views and desires, and can be analyzed as such), I also see that software also tends to have practical needs, and in some cases, a generated tool can be better than having none at all.

In fact, I used to hold an opinion that “most code isn’t art”, but seeing this article by Glyph Lefkowitz made me somewhat reconsider that stance. Sure, some programs are made simply to fulfill a specific goal with no further aspirations, but so are some paintings, or some music tracks, and a whole lot of copy-written text. And for those, sending the work to an AI still feels way more shady. Even some software developers who freely use generative AI for code reject the idea of using it for documentation or blog posts for similar reasons.

And, yet, I still don’t entirely feel like AI-generated code is as unacceptable as AI-generated artwork. Sure, people who use it are denying the opportunity to learn new things and often consign themselves to deal with hard-to-maintain code afterwards, but that is ultimately their choice to make. Not everyone wants to continuously have to learn new things or strive for some kind of greatness.

So even if programming is an art, there must be some other difference that distinguishes it from the forms of art where AI use is considered completely unacceptable. So far, I found three distinct differences:

  • Other art forms tend to have a sort of hierarchy, where some kinds of it are treated as equivalent of the top division or “pro” league in sports, and others as lower-level or “amateur” leagues. Book writers tend to sneer at journalists, fanfic creators or copywriters, film and TV creatives do the same towards people making commercials, music videos or pornography, etc., and most people on the lower levels desire to make their way into the “big league”. The “upper” creatives see AI as a threat that would devalue their craft to the lower level, and the “lower” ones see it as blocking their way upwards. While there is a degree of that in programming (back-end designers and operating system programmers would probably consider themselves to be more important than front-end developers or people making web apps), ultimately both are considered to be equally “real”.

  • There are no “famous programmers” (apart from people like Bill Gates, who started off as programmers and became tech executives) or “well-known programmer creative quirks”. Connoisseurs of other artworks will analyze individual creators to a great extent to figure out things that are specific to them (“Steven Spielberg likes indulging in nostalgia”, “Quentin Tarantino is into feet”, “Tom Cruise sure seems to sprint a lot in movies”, etc.). Particularly famous creators have so much influence, they’re capable of exerting power against the studios that hired them in the first place, and such an author being signed by another studio is still expected to produce “their flavor” of works. The closest examples would probably be some video game programmers, such as Satoru Iwata or Yuji Naka, who were renowned for their skill and were able to pull off things that other developers at their company were unable to do, but even then, that doesn’t entirely come across in the kinds of games they worked on. After all, internals of a software product are much more hidden from the average user than the aesthetic or narrative details.

  • The other art forms have much more worker solidarity within them, sometimes to the point that they outright have their own labor unions (like in the U.S. movie and TV industry), where participation is commonplace. Despite how often programmers depend on open-source software, Q&A websites/forums and publicly available materials made by other programmers, a lot of them still treat each other more as competitors or strangers rather than colleagues. This might be influencing, in part, why arguments such as “well, generative AI is useful for me” are much more persuasive, especially in a competitive work environment like today’s.

The second thing probably reinforces the third, because if famous writers or actors are hired for their specific skills or appearance or “star power”, then programmers are much more interchangeable. So, for instance, famous actors are thus much more capable of supporting rookies, since the rookies aren’t going to be directly competing with them (and even if the rookie eventually becomes famous, by that time the famous actor will have moved into a different age bracket, and thus they’ll still not be competing against each other), whereas there are very few programmers who aren’t always at risk of being replaced by someone fresh out of university by a particularly ignorant higher-up.

All these factors mean that, unlike people in other creative spaces, programmers can look at generative AI and see not a fundamental threat to their job or even their entire craft, but rather a tool that can help them keep their job and persevere in face of rising demands or nearing deadlines.

Visual style:
Color scheme: