3 ms·
>> it's a great pity software developers misused and screwed it up so badly So the Registry is a great idea and great software design, but developers are "hold
by andrewstuart 7y ago
>> it's a great pity software developers misused and screwed it up so badly
So the Registry is a great idea and great software design, but developers are "holding the phone wrong"?
I think applications should be standalone and not tied into some giant central spaghetti shared knot of chewing gum.
The beauty of Linux/Unix is that stuff is configured by text files. Windows was on that path i the early days when everything was configured with ini files before someone had the idea of introducing the registry.
- jodrellblank 7y ago"Holding the phone wrong" referred to people using something as they'd expect, but it not working at all. The registry turned to trash by people using it wrongly, because people don't write software very well. When ordinary users needed admin rights because developers stored per-user settings in the system-wide config, that's developers misusing the registry. When tools register themselves as file-format-handlers in the registry directly instead of going through Windows' API and getting user permission, so they can steal file format registrations, that's developers being malicious or bad at their jobs. When developers persist things in the registry without taking into account the documentation that warns things like "the user hive might be loaded on a desktop then on a terminal server with a different version of the installed application", that's developers not using it properly. A central configuration database with standard ways of accessing it, doubling as an early 'service-discovery' place (e.g. registration of COM components), with system-wide config and per-user hives loaded when needed, is a great idea, and the registry is tolerably good software design as a way to do that, considering it came from the early 1990s, but developers have carelessly misused it for years, and Microsoft take the blame for that. Imagine you logged onto a server by SSH and your /home/.program/program.conf file is from a newer version and the program doesn't run. Nobody would attack "the concept of storing configuration in a text file" for that - but people would attack "the registry" when that equivalent happens on Windows. How many times have people written scripts to "parse" and add/remove lines of config from text files, without ever saying "we're reinventing the wheel for the hundred thousandth time, what a miserable waste of human life, if only there was a standardised key/value store we could put data in with a standard tool"? And I put "parse" in scare-quotes because how many actually implement a full and correct Apache/Bind/iptables/etc config file parser, instead of a quick regex/sed/AWK/Python hack? JSON changed this a little, but now you'd easily expect to configure a server/service using a REST interface, and the config would be persisted in some unknown not-user-facing database behind the scenes, and that's just "fine".
- andrewstuart 7y ago>> "Holding the phone wrong" referred to people using something as they'd expect, but it not working at all. I thought it meant blaming the user for the flawed design.
- jodrellblank 7y agoOK then, yes. Everyone who abuses or misuses the registry has ruined it for the rest of us, and should feel bad.
- toyg 7y agoThe minute you make third-party developers potentially responsible for the overall stability of your system, the fault is yours, sorry. Microsoft simply did not grok security principles when building Windows 95, and they have been paying the price ever since. > your /home/.program/program.conf file is from a newer version and the program doesn't run. But a problem in program.conf would sabotage the program, not the entire system. Whereas a bad registry can stop you from booting. That is the main problem. A real unix equivalent could maybe be a problem with something in /etc, but that stuff is supposed to be 1) set to basic defaults that will work in any circumstance, and 2) kept under lock and key. Whereas the Registry was born as a free-for-all, and only much later got a permission system retrofitted on top. Was the Registry a good idea? Maybe; but it certainly had a terrible execution, and now we're stuck with the results. > if only there was a standardised key/value store Yes, if only - but there isn't, the Registry is Windows-only. That's why developers end up managing text files: because they work everywhere, in 1995 as in 2019; whereas APIs come and go.
- jodrellblank 7y agoWindows 95 wasn't multi-user and was from a time when the only software most people would install was some they bought from a company you trust. I hazard a guess that with NT4 and Windows 2000, the user hive was unlikely to be able to crash your system - sure something probably could, but it was at that point separate between what a user could do and what an admin could do. At that point, giving an installer root access to affect the system areas and then complaining that it could screw up a computer, would happen on any OS from any company. If your argument is really that "it was a free for all initially therefore I discount anything they learned or changed since" - that isn't very convincing. > But a problem in program.conf would sabotage the program, not the entire system. Whereas a bad registry can stop you from booting. That is the main problem. A bad user hive stored on a network drive, can stop a terminal server from booting? Can it? That's the comparison with /home/.program/program.conf that you're replying to. > A real unix equivalent could maybe be a problem with something in /etc, but that stuff is supposed to be 1) set to basic defaults that will work in any circumstance Like a kind of "safe mode" that can boot after something has screwed up the registry? > That's why developers end up managing text files: because they work everywhere, in 1995 as in 2019; whereas APIs come and go. Yeah, I've never had to fix character encoding issues in text files, or line ending, or newline at end of file, or escaping or quoting issues in text files, because they're all the same and never cause any problems. Microsoft APIs from years ago still work.
- lightbulbjim 7y ago> The beauty of Linux/Unix is that stuff is configured by text files. Windows was on that path i the early days when everything was configured with ini files before someone had the idea of introducing the registry. cough dconf cough
- MikusR 7y agoWindows Store apps are exactly that - completely isolated with their own configuration and clean uninstall.