Tuesday, July 31, 2007

Fresh Eyes

Sometimes, when you stare at code too long, the assumptions you made, the decisions you made, which made sense as the time are hard to challenge. Rather than get into too much depth, here's an analogy.

At one point, people sat in front of what would now be termed, a computer. This computer was huge, and there was only one of them. And so a very limited number of people could use it.

Once someone had the bright idea (or more likely, several someones), then people could sit in front of a keyboard, possibly in a remote room, and essentially send their keystrokes to a remote machine. That machine could handle several users at once, by giving each user a tiny slice of time.

Users were said to use "dumb terminals", which basically used a computer as a kind of telephone to a computer. A key press was typed, the characters sent across a wire to the computer that would interpret it, then send back an echo of the key pressed, plus results.

Soon, people figured everyone could have their own computers, such as personal computers. Then, you can think of the Web as creating a remote computer, by which the browser is the local dumb terminal.

Often, there is the desire to put smarts near the person on the "computer" they sit in front of which alternates with the desire to put the computer remotely and having the local "computer" merely relay messages to a more powerful computer elsewhere, which is shared by many people.

Such was the case that happened today. Was it better to do a big computation now so that future results could take pieces? Or was it better to do smaller computations, whose sum total might take longer than the big computation, but be quicker. Tradeoffs go different ways depending on which way you go, and one way, which may have been dismissed a while ago may require revisiting if things have changed.

You never know til you try, right?

That's the thing with programming. There's so many ways to do things, so many tradeoffs you can make.

Remember, a bad solution in the past, might become a good solution of the future.

No comments: