Graham on optimism vs skepticism when programming

Replies:

Parents:

  • None.
This essay by Paul Graham on designing programming languages

   http://www.paulgraham.com/popular.html

includes this section on balancing optimism with skepticism
when programming:

> 10 Redesign
:
> To write good software you must simultaneously keep two opposing
> ideas in your head. You need the young hacker's naive faith in
> his abilities, and at the same time the veteran's skepticism. You
> have to be able to think how hard can it be? with one half of
> your brain while thinking it will never work with the other.
>
> The trick is to realize that there's no real contradiction here.
> You want to be optimistic and skeptical about two different
> things. You have to be optimistic about the possibility of
> solving the problem, but skeptical about the value of whatever
> solution you've got so far.
>
> People who do good work often think that whatever they're working
> on is no good. Others see what they've done and are full of
> wonder, but the creator is full of worry. This pattern is no
> coincidence: it is the worry that made the work good.
>
> If you can keep hope and worry balanced, they will drive a
> project forward the same way your two legs drive a bicycle
> forward. In the first phase of the two-cycle innovation engine,
> you work furiously on some problem, inspired by your confidence
> that you'll be able to solve it. In the second phase, you look at
> what you've done in the cold light of morning, and see all its
> flaws very clearly. But as long as your critical spirit doesn't
> outweigh your hope, you'll be able to look at your admittedly
> incomplete system, and think, how hard can it be to get the rest
> of the way?, thereby continuing the cycle.
>
> It's tricky to keep the two forces balanced. In young hackers,
> optimism predominates. They produce something, are convinced it's
> great, and never improve it. In old hackers, skepticism
> predominates, and they won't even dare to take on ambitious
> projects.

I routinely delay programming projects because they seem like
they'll be a lot of work, then finally hack them up and think
"wow, that was easier than I thought." (Skepticism must be
getting the better of me in my old age.)

So I'm glad to have had this pointed out to me -- optimism and
skepticism are both healthy and useful.

--
Gerald Oskoboiny <[email protected]>
http://impressive.net/people/gerald/

Re: Graham on optimism vs skepticism when programming

Replies:

  • None.

Parents:

On Sat, 31 Jul 2004, Gerald Oskoboiny wrote:

>This essay by Paul Graham on designing programming languages
>
>    http://www.paulgraham.com/popular.html
>
>includes this section on balancing optimism with skepticism
>when programming:
>
>> 10 Redesign
...
>I routinely delay programming projects because they seem like
>they'll be a lot of work, then finally hack them up and think
>"wow, that was easier than I thought." (Skepticism must be
>getting the better of me in my old age.)
>
>So I'm glad to have had this pointed out to me -- optimism and
>skepticism are both healthy and useful.

I routinely delay things because I am an inveterate procrastinator. I
rationalise it by saying that I am not much of a programmer, and being
optimistic about the fact that if I wait for a real programmer to spend a
little bit of time implementing my algorithm it would be quicker than me
doing it straight away.

Gerald, I shudder to think what you will be like when you get to some ripe
old age like 45... :-)

Cheers

Chaals

Re: Graham on optimism vs skepticism when programming

Replies:

Parents:

On Sat 31 Jul 2004, Gerald Oskoboiny wrote:

> This essay by Paul Graham on designing programming languages
>
>     http://www.paulgraham.com/popular.html

And here is another interesting bit for some of us:

[[[
Everyone knows that it's not a good idea to have a language designed
by a committee. Committees yield bad design. But I think the worst
danger of committees is that they interfere with redesign. It is so
much work to introduce changes that no one wants to bother. Whatever a
committee decides tends to stay that way, even if most of the members
don't like it.
]]]

I must think this 50+ times a year when reading
W3C specs (not that I could do better as an individual :)

Dean

Re: Graham on optimism vs skepticism when programming

Replies:

  • None.

Parents:

On Sun, 1 Aug 2004, Dean Jackson wrote:

>On Sat 31 Jul 2004, Gerald Oskoboiny wrote:
>
>> This essay by Paul Graham on designing programming languages
>>
>>     http://www.paulgraham.com/popular.html
>
>And here is another interesting bit for some of us:
>
>[[[
>Everyone knows that it's not a good idea to have a language designed
>by a committee. Committees yield bad design. But I think the worst
>danger of committees is that they interfere with redesign. It is so
>much work to introduce changes that no one wants to bother. Whatever a
>committee decides tends to stay that way, even if most of the members
>don't like it.
>]]]
>
>I must think this 50+ times a year when reading
>W3C specs (not that I could do better as an individual :)

If you only think this 50 times a year...

you should read specs more often :-)

cheers

>Dean
>

Charles McCathieNevile  http://www.w3.org/People/Charles  tel: +61 409 134 136
SWAD-E http://www.w3.org/2001/sw/Europe         fax(france): +33 4 92 38 78 22
Post:   21 Mitchell street, FOOTSCRAY Vic 3011, Australia    or
W3C, 2004 Route des Lucioles, 06902 Sophia Antipolis Cedex, France

HURL: fogo mailing list archives, maintained by Gerald Oskoboiny