Is it just / ?
I kid. But really, besides “its all a file”, if you take away the gui, is the only difference the syntax ? How libraries interact? How disks are mounted ?
If we stripped all ms’s junk out and made windows open source, would we still prefer linux?
When you get to a very basic level, is one of them more efficiently coded?
Literally everything.
Okay not everything, I’m sure they share some basic libraries like openssl. But the core OS is apples and oranges.
The entire difference is the kernel. There’s a reason why Apple moved to BSD forever ago for their OS. Somebody did it better than they would have been able to from scratch. Everything above that level on up to the DE matters less as far as stability and performance goes for desktop users.
is the only difference the syntax ? How libraries interact? How disks are mounted ?
Ah, yes.
You know, the things you just mentioned ARE the basic differences. As long as both work on the same architecture, and none reinvent the wheel, everything is the same.
And as long as you don’t reinvent the computer and make a new assembly and binary, a kernel and libraries will be the most effective ways to work.
Its like saying „what is the difference between python and c++ anyway? If we just strip away everything differentiating the 2, we just get a programming lang.
And yes, I would prefer Linux, for the same reason a python Dev prefers python and a C++ Dev prefers C++: because I’m Used to the syntax and the quirks of Linux. I don’t want to jump back to the ungodly CLI of cmd, powershell and everything else. I have learned the ins and outs of Linux, and that’s how its gonna stay.
You rather should ask what separates Windows from all the Unix-likes. Windows is the weird one, not Linux.
From my basic understanding: Windows has a microkernel hybrid style architecture. It’s kind of like microservices. Instead of all resources being shared within a system process, You get a lot of tiny services all making calls to each other and the main kernel.
This introduces a lot of overhead because variables need to be sent and requested between processes. And they don’t simply share them in the same memory.
Linux on the other hand has most services under one monolithic kernel and they can all access the same memory. So there is no need for all of that intercommunication between services.
At least that’s my basic understanding and if I’m wrong (which I probably am), then somebody on the internet will now correct me.
I started in IT as a windows guy in a unix heavy lab. I aliased windows command line things to output a message to use the linux version of the command so that I would learn it. so if I typed dir I would get a message that said use ls.
Average Linux command naming: yoink
Average Windows PowerShell command naming: Do-QuickPleaseRunProgramDeleteCache -Now -Force -NoFail