Why I hate the registry and installs

OK, so many years ago there was a little program called Windows. It made graphics appear on your machine, and allowed you to run other stuff in it. The other stuff used little files called INI files to store their data.

Windows had its own little file called Win.ini, to store its own stuff, and so they coexisted.

Unfortunately the default for the functions to manipulate inis used win.ini. So the lazy people outside of Windows decided to just store their stuff there. Win.ini became big. Soon it contained information about every program on the computer.

It became slow. Then wise old MS said "Enough is enough, we'll make this thing fast".

And so the registry was created.

And my pain started.

You see they answered the wrong question. They saw the problem as "win.ini is slow, lets make it quicker." Not "Why the f&>* are people storing all their *&^£ in our file. Let's make it harder for them to do so."

The registry is a centralized repository of the machine. It sounds like it might be quite useful. All the way up until you see how the 1000's of other companies using it abuse it. *Everything* is in there - what you last run, what you could run, what you can use to run it, how fast its going whilst its being run. Basically it has become a bastard file system within a file system. Quick? Yes. But do I really need blinding speed to tell me to enable toolbars? And should that information be held next to the information that says how my network works?

Its a god awful idea, and needs to be put down. Back to the trees I say. Text driven configs per application. Maybe that way we can finally be able to copy one application from one machine to another, or delete it and find its ghost no longer lingers. You see that's the other beef. You have no idea what's been installed where. Even tracking the files added is no receipe for success, thanks to the dratted registry. And then you get into the business of uninstalling applications (shudder)...

So why the rant? Just felt like getting it off my chest. Also noted that lots of linux clones are starting to move towards the centralized repository approach.

So here's a suggestion: if you have vital bits of the system that need configuring to make stuff work, allow for small per application registry hives. Make the hives live by the application, make the main registry merely store pointers to those hives. Make it cache them sensibly for performance. Make their removal from the file system make them disappear from the central store. Make the filesystem responsible for tracking them understand that people want to move things, or copy things.

All of these things will make for sun and sunshine, or at least help along the way. It would also make a franticly gibbering developer calm enough to drink his milk...

Comments

Popular Posts