Futurist Programming? Monday 2006-12-04
In clear disagreement with the dogmatic way programming is taught to would-like-to-be programmers today, Paul Haeberli and Bruce Karsh wrote the “Manifesto of Futurist Programming“
Let me just cite a bit from the “Futurist Programming Notes“, that accompanies the manifest:
How would you wash a window?
Suppose we were asked to wash a window and we chose to do it the same way that software is developed. We’d get things like:
- How to make really nice customizable buckets and squeegees.
- A system for classifying window shapes. and materials, including of course, window materials and shapes that might be developed in the future.
- An analysis of how well a window washing technique scales from windows the size of a bee’s wing to the stain-glass windows in the largest cathedral.
- A commitment for a full design review BEFORE starting any implementation.
- A consultant to write a user’s manual.
- A promise of compatibility with the new Window Washing Standard from MIT.
- Plans for a set of meetings to discuss a schedule for developing user training to teach users to wash windows the modern way.
Who would you rather have “solving” this problem for you, a computer “scientist” or a professional
It’s said that information wants to be free. But how free? I’ll leave the judgement to you, dear reader.
- Posted in : History
- Author : Petit




del.icio.us
Comments»
Monday 2007-07-23
There’s a simple answer to this analogy:
Washing a window is a simple task that has been done before.
Creating software is a complex task to create something that hasn’t been created before.
The analogy isn’t even remotely applicable. Simple problems require simple solutions. Complex problems often (not always!) require more complex solutions.
Monday 2007-07-23
Thanks for your contribution fregas!
Well, I guess you are both right and wrong, depending on the aspect
The cleaning a window example may not be the best, but indeed it requires knowledge of “how to clean a window” rather than “how to clean this specific window” – you extrapolate from what you know from other windows. The same holds for programming, even if, as you point out, you are creating somethong that has not existed before.
There is a similarity between the two fields of activities. Otherwise there wouldn’t be recognizable algorithms and patterns.
Even if I’m not a “Futurist programmer”, I believe it’s worth discussing how programming is thought. It certainly can be done in many different ways.