If Microsoft feels competition from Linux, it makes more sense for them to allow hosting of Linux as a user-space application on their platform, rather than have a user migrate away.
On my rockpi4, I simply plugged it and instantly I've got a terminal on my wall. It is an ARM machine. That's the HUGE advantage of having a driver in the kernel: it will work on every architecture the code can compile. That was just the same experience with my usb wifi dongle, with my wacom tablet, with an epson multifunctional (I had to apt-get install escpr, but it is a single command), samsung printers... Some of these drivers are in user-space and not in the kernel, but it worked flawlessly in more than a single arch. That is impressive.
But I do admit I envy the number of drivers for desktop gadgets that are compatible with windows. Of course, binary drivers are only interesting you use a single arch.
Disable/remove the file system filter drivers and the performance issues largely disappear.
In general NTFS doesn’t do well with lots of small files because opening files is expensive compared to ext4 (dramatic oversimplification). This shows up in random places where very little actual file reading/writing is happening for each file, like yarn, docker, installing video games, etc.
I'm aware of their claim about using Group Policy to remove the limit but I've never used GP in order to know its sharp edges for my gaming computer
0: https://docs.microsoft.com/en-us/windows/win32/fileio/naming...
Office does its own thing and doesn't leverage MAX_PATH. No idea why.
With separate files, the ability to download and replace them individually is a big win. Also, I can use terminal tools on them which is great for automation.
Dconf complements it: https://wiki.gnome.org/Projects/dconf and dconf-editor is even similar to regedit.
For system settings... that is a bit more complicated.
There is a standard and it's minimal:
- config files are text files - # indicates a comment
Why standardize further when the types of programs that require config files run an extremely wide gamut? Types of programs can be as diverse as web servers, graphic editors, kernel modules, networking programs, etc. Each are vastly different. I don't need to wait for, worry about, or try to install an updated registry processor that knows about new object types. Better to build it into the program or rely on a library. Why change the entire system of configuration storage just for one new type of program?
And text files are awesome for another reason: With the ability to comment config files you can understand any format - as well as include notes and conveniently have documentation where you need it.
Also: You can't use git or other versioning to backup your registry keys and rollback to previous versions.
It’s technically the fault of the program, not the registry. But culture and ecosystems matter, and by-and-large, Config in files is usually much more concentrated.
2. Related to (1), it is very hard to just move settings from one machine to another. How do you export your settings related to program X in order to use it on another machine? I keep my Linux config files in a git repository - I can easily track history and clone it to new machines. What’s the registry equivalent?
3. It is incredibly slow. When I still used windows, if I needed to do some registry editing, I would dump it to a text file, edit and then import the edited keys. That took about 1/10 of the time doing the same took in ResEdit.
Meanwhile OS X or Linux don't suffer from this and working with applications is a lot more "streamlined". As I said, this is just a slightly above average skilled end-user perspective.
I should research what key-value database libraries I can use as a cross-platform registry-like storage format that's more resilient to app or system crashes.
The place where programs put their config in Windows Registry is as if not more idiosyncratic.
Fairly horrific to use, but I always appreciate unorthodox designs in operating systems. They’re exceedingly rare these days.
Also, it allows the use of git to track changes on config files and even replicate them across hosts.
etckeeper for /etc is wonderful.
On the contrary I wish Windows shipped with busybox, so that it would be easier to run scripts with some bashisms portably.
If you're looking for arrays, you will be sorely disappointed AFAIK.
That’s not to say powershell is perfect but on the whole it’s a lot easier to find the thing you’re looking for, and you don’t usually have to wade through SO snark to do it.
Why put money into the kernel beside that of a Linux Foundation member?
Stable features that are visible from user space? That would be extremely surprising.
> it's buggy, it's insecure as hell
It's really not. It has bugs, even security bugs, but no more than any other modern kernel.
> there no test framework.
https://www.kernel.org/doc/html/latest/dev-tools/testing-ove... plus assorted fuzzing and integration testing