The Artima Developer Community
Sponsored Link

Weblogs Forum
Paul Graham Compares Painting and Programing

4 replies on 1 page. Most recent reply: May 20, 2003 11:17 PM by Vincent O'Sullivan

Welcome Guest
  Sign In

Go back to the topic listing  Back to Topic List Click to reply to this topic  Reply to this Topic Click to search messages in this forum  Search Forum Click for a threaded view of the topic  Threaded View   
Previous Topic   Next Topic
Flat View: This topic has 4 replies on 1 page
John McClain

Posts: 4
Nickname: pdp8
Registered: Apr, 2003

Paul Graham Compares Painting and Programing (View in Weblogs)
Posted: May 8, 2003 7:51 PM
Reply to this message Reply
Summary
Is programing an art, science, or engineering? Paul Graham thinks art, and I mostly agree.
Advertisement

Today slashdot had a link to an interesting article by Paul Graham on how programing is more similar to the arts than engineering.

I think I agree with most of what he is saying. There are a few items I quibble with. In particular I find the structure provided by some degree of static typing helpful (Java good, Pascal not so much). I also find working out complex program wide aspects, like syncronization, on paper before hand helpful. This is probably because programing has more in common with engineering (we are building machines after all) than any of the other arts.

Resources

Paul Graham's Article
http://www.paulgraham.com/hp.html


Eric Armstrong

Posts: 207
Nickname: cooltools
Registered: Apr, 2003

Re: Paul Graham Compares Painting and Programing Posted: May 12, 2003 8:44 PM
Reply to this message Reply
Quite a good read.

I like the "designer" more than "painter", but his comments
about one's "day job" were dead on.

And I agree with you on the subject of static typing. He draws that in, but I think he's got it wrong. (But that is a different, and very long, post.)

Still, those are only a couple of minor quibbles in a very good and well-thought piece!

Ken Arnold

Posts: 27
Nickname: arnold
Registered: Apr, 2003

Re: Paul Graham Compares Painting and Programing Posted: May 13, 2003 8:06 AM
Reply to this message Reply
Your exception to Graham's analysis points to what I think the real relationship is: Programming is more like architecture than painting, in that it lives at the intersection of art and practicality. Programming is like painting in the same ways that architecture is like painting, and programming is like physics in the same way that architecture is like physics.

Robb Nebbe

Posts: 3
Nickname: robb
Registered: May, 2003

Re: Paul Graham Compares Painting and Programing Posted: May 15, 2003 8:37 AM
Reply to this message Reply
I'm convinced of his credentials as a painter and programmer but I don't think he has much insight into engineering. A concise definition of engineering is "design under constraint" and by this definition some of the most creative people in our history can be described as engineers.

For example, J. S. Bach's approach to musical composition can be thought of as engineering; he placed himself under a tremendous number of constraints in terms of style and structure. All these constraints might have crippled a lesser composer's creativity but Bach's musical genius allowed him to surpass himself time and time again.

Part of the problem may be that great engineers, like great programmers and great painters are few and far between.

Vincent O'Sullivan

Posts: 724
Nickname: vincent
Registered: Nov, 2002

Re: Paul Graham Compares Painting and Programing Posted: May 20, 2003 11:17 PM
Reply to this message Reply
I love dodgy analogies. This one follows hard on the heels of 'Programming is like Gardening' elsewhere in Artima. Provided you don't take them seriously they can provide an interesting oblique view of their target - in this case programming. I think the Painting and Programming analogy is very good.

I've just seen an article comparing different programming languages and two of its various conclusions were that the development process is affected more by the qualities of the programmers than by the qualities of the languages they use. This immediately put the following 'dodgy' analogy in my mind:

Programming is like Sport
- You can't do it properly unless you want to.
- Some people are naturally better at it than others.
- More people do it for enjoyment than actually produce results.
- The only way to get better (and stay good) is to keep practising at it.
- Regardless of the level of your ability, a coach or mentor can provide invaluble insights into your strengths and weaknesses.
- Having a coach (or manager) crack the whip can keep you focussed.
- Playing in a good team can improve your own performance.
- Playing against a good team can improve your own performance.
- Better equipment certainly helps but is no substitute for ability.
- Skill and experience are worthy opponents to youth and energy.
- Match or race days are like deadlines.
- There are plenty of people on the sidelines who are more than happy to tell you how you could have done it better (whether you won or lost).

I could go on but I think that a pretty good comparison to start with.

Vince.

Flat View: This topic has 4 replies on 1 page
Topic: Check that Data! Previous Topic   Next Topic Topic: Why is Poorly Documented Code the Industry Standard?

Sponsored Links



Google
  Web Artima.com   

Copyright © 1996-2019 Artima, Inc. All Rights Reserved. - Privacy Policy - Terms of Use