9 ms·
The Registry is the biggest architectural mistake in Windows - it's a great pity they haven't had the courage to remove it entirely.
by andrewstuart 7y ago
The Registry is the biggest architectural mistake in Windows - it's a great pity they haven't had the courage to remove it entirely.
- Forge36 7y agoThey've indirectly stated support for it so long as VB6 (and COM) continue to be supported. I suspect a 32bit runtime deprecation is probably slatted for a sooner deprecation than the registry
- AnimalMuppet 7y agoThey can't remove it. It's insane the amount of code that would break without the registry.
- andrewstuart 7y agoGotta start somewhere, - they should announce that it's being deprecated in future version of Windows.
- AnimalMuppet 7y agoAnd here's how to do it instead of using the registry (for all uses - COM garbage included). And here's how to migrate, and here's some tools to help you...
- beatgammit 7y agoWhy not? I think they could deprecate the interface and replace the implementation with wherever the new thing is (config files?) transparently. Make Visual Studio emit warnings for a version or two, then errors (and LTS the last Visual Studio version that supports it until official EOL). They're not going to do that because it's not important to them (and the registry is a bit of an icon at this point).
- jodrellblank 7y agoThe registry is a fantastic idea - it's a great pity software developers misused and screwed it up so badly, and a shame other OSs haven't copied it and built on it. Instead of every tool making its own incompatible, undocumented, non-standard config file/database/format/tools.
- dlivingston 7y agoI think Apple solved this problem well with the .app application files. All application files and resources are self-contained. Drag the .app file to the Trash to completely remove it. Some apps are non-conforming, and store data elsewhere, but as a general model I think it works very well.
- FigBug 7y ago.apps aren't really analogous to the registry, they are more like the contents of the Program Files directory. On macOS, the registry equivalent is all the plist files stored in ~/Library/Preferences and ~/Library/Application Support. These just get left behind when the .app is deleted.
- atombender 7y agomacOS doesn't get it right. Removing .app files doesn't delete attendant files under ~/Library/Application Support. You need a utility like App Cleaner [1] (which is great) for that. Early macOS used the installer system, which still exists but is increasingly rare. You'll notice it because the installer has the .pkg extension. The installer writes "receipts" to a special folder, which contains all the files it created, which in principle should help you unininstall. In practice, this doesn't work well, either, because apps litter the file system with files after they're installed. Apple encourages the use of sandboxing for new apps. You'll find that apps each get a root under ~/Library/Containers. This means you can wipe all of an app's data in one go; as I understand it, sandboxed apps have to explicitly request access to any files they need to access outside of their container. With APFS they could go even further and give each app their own volume, I suspect. But most apps aren't yet sandboxed, so we still have file systems polluted with stuff. [1] https://freemacsoft.net/appcleaner/ https://freemacsoft.net/appcleaner/
- draw_down 7y agoThey can't do stuff like that. Backwards compat means once they decide to do something they're stuck with it for a very long time.
- mehrdadn 7y agoNever understood this comment. What's so wrong with the registry?
- andrewstuart 7y agoHave you ever had chewing gum stuck in your hair? Same thing. The problem with the registry is that it's a complex mess that can't be pulled apart and it's not modular. A clean operating system would separate applications cleanly from each other so they can be configured in an isolated manner, installed and uninstalled cleanly without leaving remnants of themselves in the operating system gumming up the works. If you use Windows then you are probably used to Windows slowing down over time and you've probably just come to accept that you have to reinstall every so often because it has all become so slow. IMO that is at least partly, if not substantially attributable to the registry. By way of comparison, I'm still using the first build of Macintosh OS that I build 12 years ago and moved it from machine to machine. It does not slow over time. Software should be loosely coupled - the registry tightly couples a whole stack of unrelated stuff together. The Windows registry is a sticky mess of spaghetti mixed with chewing gum and glue and it can't be unwound. Operating systems should be modular, able to be pulled apart and put together in a component like manner - the registry is the opposite concept, it's a central dumphouse that links and binds things and makes it hard to impossible to have a clean operating system. Go have a look into your registry and tell me what's in there - does it make sense to you at any level at all? There you go - that's what's wrong with it.
- mehrdadn 7y ago> it's a complex mess > sticky mess of spaghetti mixed with chewing gum and glue and it can't be unwound. This is not how you convince someone of a position. If I said your comment here was a spaghetti mixed with chewing gun would you find that informative, let alone compelling? > If you use Windows then you are probably used to Windows slowing down over time No, this is just your stereotype from over a decade ago. > and you've probably just come to accept that you have to reinstall every so often Again, false... > IMO that is at least partly, if not substantially attributable to the registry. All these problems just to blame the registry? With absolutely no substantiation for your claims? As a Windows developer who's pretty familiar with its ins and outs (and who's run his fair share of registry defraggers/cleaners/etc. over a decade ago) and who actually pays attention to his OS performance I have never been able to measure a performance impact. > A clean operating system would separate applications cleanly from each other so they can be configured in an isolated manner, installed and uninstalled cleanly without leaving remnants of themselves in the operating system gumming up the works. I don't know what this means, but on any system programs will leave remnants on uninstall. Just diff your ~/ and /etc folders for a clean Linux system vs. one you've used for a while and then uninstalled packages from. > Operating systems should be modular, able to be pulled apart and put together in a component like manner - the registry is the opposite concept, it's a central dumphouse that links and binds things and makes it hard to impossible to have a clean operating system. "Gumming", "dumphouse", "sticky mess", "spaghetti"... these don't ground your position in anything, except maybe chewing gum. > Go have a look into your registry and tell me what's in there - does it make sense to you at any level at all? There you go - that's what's wrong with it. In fact yes it does, and in fact it shouldn't even have to make sense to a user, and only parts of it are relevant for developers, just like so many parts of any system. In my experience people who describe the registry like this last used Windows as their primary system over a decade ago, read a lot of rants about it, switched to Linux, and just kept repeating myths ever since.