User login

Language snobbery revisited

I would like to respond to Peter Christensen's recent post about the inability of "language snobs" to finish anything.

While I don't like language snobs (and I have been guilty of a little snobbery myself), I also don't think that his analysis is fair. I don't think the (effective) business model of "Always be shipping" is the end-all-be-all of software engineering.

This is an idea I've been bouncing around in my head for a while now. And it's funny that Peter quotes Joel Spoelsky on this point, because I think Joel is one of the leading proponents of this view.

Here it is in a nutshell:

You won't make money if nobody uses it.
Nobody uses it if you don't finish.
Therefore, at all costs, finish the product.

I don't think there's anything wrong with this argument. And it certainly is important with a software business.

But there's another argument that is not as commonly shouted on the net.

I have a vision for a product that will change the world. // note: lots of people get here
The product won't change the world if I don't finish it. // fewer get here
Therefore, I will finish the product. // rarely does anyone get here

This is the kind of thinking that Alan Kay says made Xerox PARC what it was. And what did they ever invent?

  • The mouse
  • Overlapping windowing system
  • Ethernet
  • Personal workstations
  • Smalltalk

You can read all about the environment at PARC in this paper. He also argues against safety-oriented business thinking that trades big risky ideas for producing mediocre short-term results. One model produces MS Windows. The other creates a new way to compute.

But finishing is important. The difference between the two ideas is mindset. If you've got a big idea for a project, that project will drive you. You are an artist with a message for the world. And you need a language that can let you express that idea. And you won't be able to rest until it is completed.

The difference between the two arguments is in the conclusion of each. The business-oriented one (the first one) has the phrase "at all costs". That phrase is not present in the second one. If you have a vision, you trim off the fat and focus on what's important. But you don't compromise it. If you have to ship, you have to compromise.

Where would computing be without the serious, dedicated, and finished (!) efforts at Xerox PARC? I use all of the things on that list except Smalltalk on a daily basis. Macintosh and Windows copied them and made billions. It's too bad they didn't get a chance to monetize it themselves. But Apple and Microsoft couldn't have done it without the big thinkers.

More to the point: would Perl exist if Larry Wall had just decided to hack things out in bash scripts---totally focused on the next release? Where would Python be without far-thinking ideas?

Bottom line: finishing is always important. Business (shipping) is important. Big ideas are important, too.

Comments

A good exploration of the ideas

Eric,
My piece was by no means complete (or even cohesive from start to finish), so I'm grateful for this take on it. The final point that I wandered to was to avoid local maxima and balance competing interests. Don't wander down a dead end or lose sight of your ultimate goal.
In that sense, Microsoft and Apple reached their goal (piles of cash, world domination) and the people at PARC reached theirs (world-changing technological innovation). You lament that PARC didn't get a chance to monetize their work, but if they had sought money, they probably wouldn't have produced such great innovations.
Lofty goals of any kind are hard to reach, so if you try and split your focus on two such goals, you'll likely miss both. If your goal is brilliant innovation, prepare to settle for moderate commercial success since you won't compromise for marketing, market share, financial targets, growth capacity, etc. If you want a giant, successful business, you have to sacrifice some technological perfection to meet those same demands that the innovators ignore.
The tension between these two ideals and the many different personalities in the industry mean that everyone has a chance to achieve their own dreams.

-Peter

well said

Thanks for the comment.

I really appreciate your ideas.

The Power Of The Context

Oh yes, Peter Christensen your Idea is really good. I find it would be workable with more effects of others helps.
The works at the blog is good. Specially, that of The Power Of The Context— with Bob Taylor, Butler Lampson and Chuck Thacker — the Charles Stark Draper Prize of the National Academy of Engineering, February 24, 2004. I appreciate the work on link.
Thank you.

Post new comment

The content of this field is kept private and will not be shown publicly.
  • Web page addresses and e-mail addresses turn into links automatically.
  • Allowed HTML tags: <a> <em> <strong> <cite> <code> <ul> <ol> <li> <dl> <dt> <dd>
  • Lines and paragraphs break automatically.

More information about formatting options

CAPTCHA
This question is for testing whether you are a human visitor and to prevent automated spam submissions.