Hacker News new | ask | show | jobs
by taylodl 3079 days ago
Emphatically disagree. We're not creating art, we're creating solutions. Nor are we creating those solutions in a vacuum, we're actually satisfying several constraints: delivery dates, features, cost of maintenance, cost of enhancements, the number of people we have available for each of those activities, and so forth. It's plain to see there's no such thing as "perfect code" except in the most trivial of circumstances. Understanding these constraints and how they impact your architecture, design and actual code is all part of becoming a master programmer.
1 comments

I disagree. Programming, however we try to deceive ourselves, is not engineering. Too many things in our craft are unknown, untested, and a matter of instinct and aesthetic. We are blacksmiths, carpenters, craftsmen, blending knowledge and art to produce tools and furniture for the use of others.

Sometimes the artistry is only visible in the fit and workings of the inner cogs, but it is there, and it is, in an infinite space of equivalent programs, an emotional, unobjective stab, a crude sketch, at some platonic truth that will always be outside of our reach.