Comment by 1dontnkow_
5 hours ago
I actually thought about “Is Programming ART?” But then I realized: doesn't pretty much every profession eventually start thinking of itself as an art form?
Maybe we humans just have this tendency to turn a profession into an art once it becomes complicated enough to distinguish the really good practitioners from those who merely do it as a job.
Or maybe, to take it a step further, we eventually turn everything we do into an art form.
So I'd say yes, programming is an art form, just like most things humans do. Most people just don't think about it that way.
EDIT: To clarify, I've never really liked comparing programming to painting or similar art forms, because they're fundamentally different. Cooking is a much better analogy for me.
Pushing out 10,000 frozen pizzas in a factory is cooking. So is making pizzas at your local pizzeria, or watching a world-class chef create a unique pizza in that moment, one that might never be made exactly the same way again.
We'd generally agree that cooking is a practical, functional activity, but that it can also be an art form. I think programming is much the same. It's just that most people never get the chance to see that side of it.
It feels like everything has endless fractal depth to it, and art is what we call it the act of compressing that down to something simple.
But you need some understanding of the underlying complexity to appreciate compression. We’ve all seen and tasted stuff, so a beautiful painting or a great pizza are easy to recognize.
Programming is tricky because the complexity is hidden. To laypeople it’s confusing, “why is this simple feature so complicated??” Even to other programmers it’s often non obvious. Someone could have spent days factoring the solution to a difficult problem down from 1000s to 10s of LoC, but unless you've also wrestled with that particular problem, it just looks like simple code anyone could have written. But really that’s the beauty of it. Programming is a massive space to explore that’s hard to fully comprehend.