Hacker Timesnew | past | comments | ask | show | jobs | submitlogin

Except not the first one.



Well you can implement the same program in endless different ways. Particular styles develop. Each piece of software is unique.

You're engineering with an artform that's why you see so much variation among the patterns.

Every portrait might be recognizable as a portrait, but every portrait is unique in its details.


Different ways to do things is not art. Patterns emerging from those different ways is not art. Art is for emotional purposes:

"the expression or application of human creative skill and imagination, typically in a visual form such as painting or sculpture, producing works to be appreciated primarily for their beauty or emotional power."

Software developers have a tendency to try to claim artist status because what they do is almost entirely meaningless and a waste of time. The exchange of time for money is too transparent so they are unfulfilled and try to imbue their work with meaning. If you want to make art, do it, it can be a hobby. Yet another useless website created to shove more ads in people's faces is not art.


I assumed OP was using a different definition of art (https://en.wiktionary.org/wiki/art#Noun):

> 2. (countable) Skillful creative activity, usually with an aesthetic focus.

> She's mastered the art of programming.

..

> 7. (countable) Skill that is attained by study, practice, or observation.

If that doesn't convince you, compare with such phrases as "The Art of War", "artisan bread", or "liberal arts" (which includes topics like philosophy).


Good software solving an interesting problem can be art.


Got any examples? I'd love to see them.

Something that's beautiful in its problem set (doesn't, for instance, act as glue between other, poorly designed systems and thereby reflect their flaws), beautiful in its solutions (doesn't solve too much, nor too little, doesn't make too many assumptions), beautiful in its use (user experience, performance, etc.), and beautiful in its implementation (quality under the hood, no accidental complexity, properly factored, easy to understand and maintain) is quite rare for any problem with a scope larger than say "cat", and even most programs of that size make sad assumptions about things (e.g. are in languages where things are type/memory safe as a practice of the authors' diligence, not verifiable as a matter of course) or have to reflect the complexity of the OS/machines they run on for various reasons (performance, security, etc.).


One off the top of my head is Abrash's perspective correct rasterizer for the original Quake. Come to think of it, the BSP+PVS system for visible surface determination that they used was also pretty amazing.





Consider applying for YC's Summer 2026 batch! Applications are open till May 4

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: