Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

I have a hypothesis: One secret to staying "young" in software is to avoid uttering statements of the form:

we chuck our experience, wholesale, every ten years or so... These are gratuitous reinventions.

Even when these statements seem to be true. Don't train yourself to think like this. It isn't going to help.

Yes, people -- especially the young, but the old as well -- go over the same ground a lot in software. That's called practice.

It's partly a generational thing: New generations need to learn from mistakes by making some of those mistakes; the process of having your elders lecture you about the mistakes is great, and can save you valuable time, but it is imperfect. Some things you just have to experience for yourself.

But it's mostly an evolutionary thing. We reinvent because the environment keeps changing, especially in computing, which has been rocked by epochal changes over the course of the last forty years. (Take out your iPhone and compare it to the machines and networks in use in 1970. Then compare the owners of modern smartphones to the owners of machines and networks in 1970.) The reinvented thing never turns out quite the same as the original, and those differences -- many of which look like accidents, some of which are in fact accidents -- are usually where the progress can be found. The new tool fits the new problem better than the old tool because it evolved in the presence of the new problem.



Or to put it in a car analogy:

If we hadn't reinvented the wheel, we'd be using stone tires.

Reinventing is not always a mistake... And sometimes you have to make a lot of mistakes to make progress.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: