3 ms·
I believe programming is an art because "Programs must be written for people to read, and only incidentally for machines to execute." (Abelson, SICP) This hear
by rob05c 13y ago
I believe programming is an art because "Programs must be written for people to read, and only incidentally for machines to execute." (Abelson, SICP)
This heart of the matter, and it means programming is an art, a social one. Like marketing or graphic design, it's an art for other people. Programs must be written to be as readable as possible, to as many people as possible, while still being functional and elegant. This requires an intuition of psychology and sociology, in addition to a firm engineering grasp. A great programmer must be both mathematically brilliant and socially empathic. If she lacks the former, she won't be able to solve Hard Problems; if she lacks the latter, she'll be a Cowboy Coder (http://c2.com/cgi/wiki?CowboyCoder http://c2.com/cgi/wiki?CowboyCoder) and her code will be worthless to society.
That's why it's an art.
- brazzy 13y ago> This heart of the matter, and it means programming is an art, a social one. No, it doesn't. It just means that programming is inherently about communication (among other things). That does not, by a long shot, make it art.
- williamcotton 13y agoIt raises an interesting point, however. Things that are made for practical purposes are not art, right? The thing with software is that the code is hidden from view. There is an opportunity to make something practical by writing very impractical code, that for example, has variables named after fantasy characters, functions having some sort of narrative arc to their naming, maps "drawn" in ASCII... TheGoblinKing.smites(our_hero) could be a method to reverse an array. Again, highly impractical, but with a practical result. Architecture has a similar duality, but in a different kind of way... buildings are indeed functional, but is there no art to the practice of designing them? No room for ornament, expression, or "impractical" intent? For example, ideologies can be encouraged through buildings by manipulating people's response to their sublime grandeur or nostalgia... this seems like a much more artistic and philosophical pursuit that goes well beyond just the pure function of the building as a place to keep things separate from the outside world.