I’m pretty young so haven’t been around to see the historical context of the windows registry<p>From what I understand it’s basically a big centralized configuration system, rather than individual programs having their own config files/formats<p>It seems like now days most applications don’t use this<p>Why did it fail/not pan out?<p>And why does Linux not have a registry?
Yeah it's just a big database in what 4-5 files? My first computer was a Win 3.11 box so I have experienced a world of app specific config files and the registry was a good alternative. In the early days it seemed to give you some trouble, or rather if you were having trouble you could potentially fix it by going into the registry. But now I can't remember the last time I needed to go into the registry for anything important. Maybe do a Google search or go onto YouTube as I recall seeing something from one of the original designers a few years ago that explained what they were trying to accomplish.
Most apps don't use it these days for the same reason most apps don't use any special features of Windows: they aren't really Windows apps at all even if they may be started by running an EXE, but rather UNIX/Mac/web apps with Windows ports. Every platform has a registry-esque equivalent, albeit often in a different form:<p>- macOS has the user prefs system which gets mapped to .plist files. There's no central database but an individual .plist file is somewhat similar to a registry directory, a bit more expressive actually.<p>- web has cookies/localStorage<p>- Closest equivalent on desktop Linux is gconf which was an attempt to build a registry like system but it never took off outside of GNOME.<p>Anyway the registry didn't fail. It was and to some extent still is a competitive advantage for Windows especially in work contexts because Microsoft has tools that let you set registry keys for your users globally, and for apps that store settings there, it means you can bulk configure apps using a uniform approach that's mostly free of merge conflicts instead of mucking around with text files. For example Chrome can be configured with registry keys to some extent and I suspect if it allowed more control via the registry, admins would use it.<p>As to why it exists and where it came from - classical filesystem designs tend to struggle with lots of tiny files. The registry can be seen as a kind of hack that implements a filesystem designed specifically for tiny weakly typed files. It'd be nice to have one FS that could do everything, but there's been little interest in that since Hans Reiser went to prison. Note that the registry is accessible to kernel mode code so is useful for configuring drivers, and the kernel takes care of enforcing basic structure (you don't really want to be parsing random textual formats in driver code but registry access is pretty safe).<p>Microsoft gives their rationale for it here:<p><a href="https://learn.microsoft.com/en-us/previous-versions/windows/internet-explorer/ie-developer/scripting-articles/ms970651(v=msdn.10)?redirectedfrom=MSDN" rel="nofollow noreferrer">https://learn.microsoft.com/en-us/previous-versions/windows/...</a>
It's useful for tweaking settings that aren't exposed in the Control Panel and Settings apps. It gives Windows a lot more flexibility. Too bad it's so obscure (intentionally), but I have found many excellent online problem-solving hints over the years that involved editing the registry.<p>Now it seems that in Windows 11, more functionality is being removed from Control Panel and Settings and is only available via the registry. Too bad, but at least it's still available.
“ It seems like now days most applications don’t use this”<p>Not true for enterprise applications. In our environment nearly every major, and some minor applications use it, though 99 percent of the tweaks we do involve some function of Windows itself, and all of the tweaks are the result of Google searching to either find a solution to a problem or a configuration settings change.<p>And it was a pleasant surprise when I discovered recently that ChatGPT is knowledgeable on some registry settings.
<i>And why does Linux not have a registry?</i><p>Linux follows the UNIX tradition of having system-wide .conf files in the /etc directory. Those .conf files are human-readable and editable by almost any text-editor.<p>Most user-specific config files are placed in the user's home directory - sometimes as 'hidden' dot-files, sometimes left out on show. Dot-files don't clutter up the home directory, but sometimes you may forget they are there.
Is there any analogs of registry optimizer software but for Linux?<p>For example, vim on my system has 4 .vimconfig files and I would like to scan my system for double entries, entries which never run, "extended" (well-hidden in reality) options of some programs, easy autostart config and similar tuning of all config files scattrered across the system including /proc .
One point against it, from the start, was the names being so verbose and obtuse. "central config registry" fine idea etc; but then they make that obscure and increase the opportunities for error and misunderstanding in use, right off the bat...<p>HKEY_LOCAL_WTF_IS_THISPATH_COMPONENT_EVEN_NEEDED_FOR/THEN_TEHERES_THIRTY_MORE_LEVELS/ETC
Unfortunately the Windows registry was just poorly designed. Good idea but not necessarily a good implementation.<p>For Linux I think it's a combination of lack of a widely accepted standard and the difficultly of maintaining things like POSIX support while somehow moving past it's traditional UNIX roots.