3 ms·
Stories like this are why I'm inclined to consider programming as much as an art as it is a science. Artists, too, can use their media (such as brushes or music
by thegeomaster 12y ago
Stories like this are why I'm inclined to consider programming as much as an art as it is a science. Artists, too, can use their media (such as brushes or musical instruments) in a completely novel and unusual way. The end result is often not pleasant to casual viewers or conventional artists (that would be coders who write clean, maintainable, kludge-free code) but it can just as often leave you awestruck by how interestingly and differently a tool or a feature or a language construct has been used.
For a philosophical discussion on this, see [1] and [2], both from PG, who actively advocates for a playful, prototype-first approach to coding, which more resembles a painter painting a picture than, say, a sociologist conducting systematic research. ([1] is a transcription of a talk by Don Knuth, [2] is Paul's own essay.)
[1]: http://www.paulgraham.com/knuth.html http://www.paulgraham.com/knuth.html
[2]: http://www.paulgraham.com/hp.html http://www.paulgraham.com/hp.html
- wfn 12y agoAs much as I like pg's writings (honestly, I (usually) (kinda) like/appreciate his writing style, content, etc.), re: hackers&painters, obligatory link to Maciej's retort/comments "Smushing Paul Graham": http://idlewords.com/2005/04/dabblers_and_blowhards.htm http://idlewords.com/2005/04/dabblers_and_blowhards.htm It's a very nice read, actually. (You might remember Maciej from "The Internet With A Human Face"[1] / as the dude behind pinboard.in / etc.) [1]: http://idlewords.com/bt14.htm http://idlewords.com/bt14.htm
- thegeomaster 12y agoI'd actually argue that an analogy with architecture is a much stronger one than the one with painting. In both architecture and hacking, the creative output has to hold up to some objective standards (to compile, run and solve the problem/to adhere to the laws of physics and provide a purpose) but it also allows degrees of freedom not commonly thought about when one thinks of architecture or coding. This is, of course, implying that an architect is also capable of "implementing" his solution (which should, strictly speaking, be an engineer's job), but you could also argue that you can devise a system where a hacker would write a functional prototype and then a software engineer would reimplement it rigorously, with specs, TDD or whatsoever. This is where the analogy starts being a little far fetched so I admit it's not the best one but I feel like an architect's thought process follows very closely a hacker's one. Maciej's text is very nice, and I must say I'm stretched between PG's original text and this one right now. I guess I just to need it a little more thought and reread both of them :) On a side note, I sometimes think about whether programming is really "just engineering" and if I'm just being delusional and just eager to call myself an "artist" because I love hacking. It's an interesting subject to ponder about, but I can't say I've made up my mind.
- api 12y agoI think it's both an art and a science. The art part is often under-emphasized... horrible code tends to be produced by people whose grasp is only of the science end. It's "correct" but it's not beautiful, elegant, or creative. It's not just how the code looks -- those that only understand the science end often produce "clunky" solutions that solve the textbook case but do not perform elegantly and yield a poor user experience.