Hacker News new | ask | show | jobs
by taybin 25 days ago
> Code is a beautiful form of creative expression, as rich as literature or music

I think this is overstating it and makes me wonder how familiar the author is with literature and music. Most programming is closer to plumbing. We come in, gripe about the guy who did the prior job, and solve a puzzle with some unique constraints. The reason LLMs are good at coding is because with coding we want boring, banal code.

17 comments

Most programming is throwaway garbage, and if plumbing was treated remotely like that we'd be in deep shit, literally.

I never had plumbers come in and complain about the previous guy. They either changed something, or fixed something I caused. And whatever they did, it worked for years and decades, perfectly, even when I didn't treat it as well as I should have.

And to make things boring and banal is still an "art", for lack of a better word. You don't want your functions named like in minified code, you don't want ThisIsTheEntryPointOfTheProgram() either, and what do to instead can be subject of endless deliberation and discussion. We take all these "small" things for granted because we take churn and bloat for granted, and don't care, in a way plumbers would never. They don't have a new pipe material every week they install everywhere now, until the next fad that finally fixes everything for sure. They generally build stuff that lasts longer than people, so that profession is on a whole other planet IMO.

I get your point, but I think that's a poor example. I've been around plenty of Plumbers, Mechanics, Contractors, and Electricians. You're almost guaranteed a comment or remark about the previous guy's work.
I didn't say it doesn't happen, but I for one never experienced it, I saw zero churn and posturing or kool-aid. I guess plumbing got more professional the more widespread and crucial it became, while software is just getting sloppier and more bloated.
> I never had plumbers come in and complain about the previous guy.

True, it's the electricians who do this =)

Finally my turn to shine! I learned how to play guitar for like a decade before I got into programming. I also write a lot and have some small novels I have finished.

I feel your analogy is right but it can extend to anything. Plumbing is a job, programing is a job and yes its basically the same process if you see at as a job.

But what OP means is the skill/ability of programming rather than the job of it. Think of a professional musician that plays cruise ships, their job is also like plumbing in the way you describe, which would mean its also just like programming in terms of a job.

Yet the skill/art to me has a lot to do with the art of music or the art of writing. All of them can be channels for creativity while forcing you to do very hard work on the mechanics. I cannot say the same about the art of plumbing where you do have the mechanics and need to work on it but it doesn't require cerativity or allow you to channel it.

I am currently working on a blog trying to explain concurrency and parallelism using the song "Free Bird".

I actually think plumbing does require a bunch of creativity. Trying to add some fixture to an old house with out of spec walls and prior creative solutions can be a real challenge. And you can really appreciate the people who come up with an elegant solution that isn't "tear it out and redo it from scratch".

I'd like to read that blog post.

Yeah that also makes sense. I guess a better comment would have been to highlight the art/work aspects of any process. Like yeah, most jobs (even those that include creativite processes) will just become boring because jobs are standardized usually where you're going from point a to point b doing the same thing again and again. But that doesn't mean there is no art/creativity to the process itself but rather we restrict it intentionally in fixed jobs to standardize and this causes the split between thinking of code as a creative or non-creative pursuit.
That’s an interesting point about the tension between standardization and creativity. I’m going to think about that for a bit.
> I am currently working on a blog trying to explain concurrency and parallelism using the song "Free Bird"

Ok, now I'm hooked :)

What's your blog? I don't suppose it has an RSS feed, hopefully? :)

You can find my blog here: https://decodingvibes.com/. It does have an RSS feed and no ads or any kind of tracking or lead forms, etc. Do note it's mostly an entertainment or pop-programming style writing, not something that does deep dives into super technical stuff (mostly because I don't think I am qualified to write something I don't fully understand) but I try to keep it fun!
Looks like you two are on opposite sides of the same fence. The demo scene exists it's programming for fun and creative expression. Also the ioccc. That's the equivalent of a creatively written novel. Then there's writing for just a job like writing knowledge bases. That would be programming for plumbing aka crud and cloud.
The demo scene — as cool as it is — is an obscure hobby for a particular kind of nerd.

The business side of programming puts food on the table for tens of millions of people.

Can't the same thing be said about literature and music?
The earnings distribution in those arts are highly concentrated. Not the case for SWE.
what about stock music/corporate event production and writing knowledge bases/advertising? those would be the plumbing equivalents of music and writing imo
No. And if it could, I sure as hell never would have become a programmer.
Most programming is that, but most music and literature are probably uninspired junks as well. But there are many beautiful algorithms (such as the ones in Knuths books) that are more beautiful than any music for me personally.
Programming as in forming structures of computation is exceedingly beautiful and as intricate as any art, but that's indeed far, far removed from the everyday reality of a programmer.

I'd say the two are as connected as Rembrandt and painting prefab homes' walls are.

Most programmers are in denial about this and think their job is a delicate flower full of undiscovered mathematical gems. Meanwhile all they do is transforming data from and to databases, but refuse to see the general pattern so they'll create the same system over and over and over again in just about any variation possible.

I don't think it's overstating it at all. If anything, I would argue that code is more expressive than literature or music because it's more general. Consider the space of all possible video games, demos/intros, generative paintings, generative music, etc. which wouldn't be possible without code.

I think you're confusing the common use of a medium with expressiveness. Many uses of ordinary language also aren't that interesting, but we need to consider the full space of possibilities.

In the 1980s, you often had programmers create the art and music for games, but for the last three decades at least there have been dedicated artists and composers who often have no coding skill at all.
Yes, if you're just going down a list of jira tickets and implementing product features, but for many folks it's also an art medium.
It's like the purpose of portraits before photographs were invented. Maybe ai is like the camera for the photograph, and the canvas for portraits is writing code.
The point of art (like music and litterature) is the art itself. Code is a craft, it is means to an end. It can still be beautiful and impressive and creative, but it is a different thing.

It is not a value judgement. Art can be bad or bland and code can be a work of genius. But the moon lander or a handmade watch are beautiful because they actually work. It can’t really be compared to music.

But it can, demonstrably because sometimes code is music. The C64 demoscene is art and code and music and graphics, all in one. And it doesn't really do anything, unlike that handmade watch.

Now, is the demoscene "high art"? For the most part, perhaps not. But some of it definitely is.

Thank you for understanding my comment. Code is a craft and could maybe be more compared to pottery, which usually has a use, and is primarily judged by well it fulfills its purpose. I'm not saying that there isn't "beautiful" code, and certainly not denying clever code. But the goalpost that code is just as expressive as literature or music is just too much. Show me the code that is inspired by the reflection of a sunset on a pond on a windy day.
I kinda like the music comparison because it's so rich with sociological analogues. You have the gear snobs who can't stop buying more premium gear but never sit down and write anything. The kids who pick up a copy of Garageband and put together hits with their natural talent, sense of taste and and interesting story to tell. Soundtrack and videogame composers who have hybrid instincts of session musicians and architects. Avant garde musicians who you're never fully sure of whether they're playing a joke you're in on (or on you) and that's kinda the point. Music critics who have never played or written music a day in their life and yet end up becoming arbiters (or more accurately, delegates) of taste. Fandom stans and ringleaders who absorb it as an identity and run extraordinarily well organized cults with an iron fist.

You can probably find correlates here with coding and AI any which way you look. Coding is so rich that you can use it to do artistic, creative pursuits because it really is an interactive and world building medium if you want it to be. And it can also be a practical, reliable machine that helps you get useful business objectives done. And anywhere in between!

Perhaps the author is indexing on the former because there's an intrinsic value to that, and intrinsic values seem to be quite drowned out by the noise of extrinsic values in this media supercycle.

But I don't think it'll be that way forever. Whenever things get too noisy, people have a way of seeking peace and quiet.

You also have people who just like bangers and love throwing some tracks together, like to create sets or playlists, think they might be a DJ one day, to move the crowd, no time/inclination in making music per se but care about the created experience and will learn the 'plumbing' if they have to....
Coding is so rich that you can use it for artistic pursuits, but I argue that the output is the real art, and the code itself is not art and itself is not expressing anything.
>I think this is overstating it and makes me wonder how familiar the author is with literature and music...

I can vouch for that statement. I have written poetry. And often searching for a right word or expression is often akin to searching for an elegant abstraction or architecture when programming.

I was enjoying writing a poem in just the same way I was enjoying writing a program.

The coding we want for industry sure. Difference between IKEA and my uncle, an incredible, sought after carpenter.
> The coding we want for industry sure. Difference between IKEA and my uncle, an incredible, sought after carpenter.

The thing is that programming was one of those rare crafts/arts, where you could have your cake and eat it too: Since you were writing all the code by hand, and since that process takes a fair bit of time anyway, you might as well write good code at no extra cost (which is where the artisanship comes in). Now the difference between good code and cheap code that does the same thing is the difference between 2 months of hand-crafting code and micromanaging LLMs versus an afternoon of vibing, and that is much less defensible from a business point-of-view.

And when it's time to solve some bugs in these code base in a year, which one's going to be more expensive in terms of time, and tokens?
You could write (literature) SEO-driven articles all day, or pain copies of famous paintings all day and then painting and writing is closer to plumbing, too.
Have you not seen the Mechanical Watch work of art by Bartosz Ciechanowski? My goodness it's beautiful.

https://ciechanow.ski/mechanical-watch/

On plumbing, there are building codes that must still be followed. I think software engineering hasn't evolved to that stage yet where it's possible to assure quality.
Totally agree. Programming is not art. Does my company pay thousands of engineers to make art? I think not!

We're paid to solve a problem that the customer has.

I think literature, music and programming are all crafts, but I can't quite go so far as to call programming 'art'.
I make this comparison a lot and a lot of devs don't like it.

I am sure I could make a decent industrial PLC tech, same shit, different tools.