WhyCantThingsBeEasier

ThoughtStorms Wiki

https://web.archive.org/web/20060104172329/http://www.threeriversinstitute.org/steve%20hayes%20essay.htm

Sometime ago I realized I was very lazy. And unfortunately, not only was I lazy, but also I found laziness itself both aesthetically pleasing and intellectually interesting. I found reasoning about laziness one of the most fascinating activities. In fact, I was so averse to hard work that I've decided to dedicate much of my energy to try to avoid it.

In particular, I decided to try to find an easier way to develop software. Now typically, when you start asking why things aren't be easier, you encounter the argument that in the real world things just can't be. But if you start a systematic analysis of each things which seem unnecessarily difficult, you discover that there seems no insurmountable impediment to that particular thing being easy.

For example, why can't I write my next large scale program in a day? Well, I can sketch it in my notebook in half an hour. So why can't my sketch be the program?

Well there are a number of reasons ...

  • a) my notebook isn't connected to the computer.
  • b) my sketch isn't detailed enough to represent all the decisions I actually have to make in order to build the system in reality.
  • c) Some of my early intuitions, in that first half-hour are wrong and I need to correct them
  • d) I won't know which of my intuitions are wrong until some of them are prototyped and fail

Now a) is pretty much already solved, if only I had the money to buy the right hardware.

b) should be resolvable recursively. If at any stage when I lacked detail, I could simply drill into the object in the notebook and fill in that detail, while the overall structure was preserved, then we'd certainly be in a better position than we are with most tools we have at the moment.

However, we mustn't have a purely recursive system, ie. what ChristopherAlexander calls a tree. ( CodeIsNotATree ) This would lead to inflexability. Instead we must have a HyperText system. A free-form, anything can be linked to anything else, type system.

Let's look at SketchOfAPerfectEditor

Backlinks (1 items)