Not really. Windows has libraries, also.
Comment on [deleted]
echo64@lemmy.world 1 year ago
You’re basically describing windows and osx.
Synthead@lemmy.world 1 year ago
Comment on [deleted]
echo64@lemmy.world 1 year ago
You’re basically describing windows and osx.
Not really. Windows has libraries, also.
Tb0n3@sh.itjust.works 1 year ago
Windows has DLLs. I think OP is asking how big it would be if everything were statically linked or didn’t use linked libraries. Like every single thing was a flatpak.
echo64@lemmy.world 1 year ago
Yeah, this is what windows and osx do. Two games/apps don’t share the same dlls. The os can do some stuff to reduce memory footprint if they do, but it requires them to be the same version, effectively the same dll.
Generally apps on windows and osx do not share libraries between apps, they ship the libraries they need and run them.
Tb0n3@sh.itjust.works 1 year ago
Some do, but there absolutely system wide libraries installed from things like dotnet, and included in the system. Just like with Linux though some software was built against an old incompatible library and has to include it, or has its own proprietary ones.
echo64@lemmy.world 1 year ago
You’re presenting it like most libraries an application will use are system libraries, and a few exceptional cases they will bundle a dll. This is absolutely not the case, the vast majority of libraries are bundled.
skullgiver@popplesburger.hilciferous.nl 1 year ago
The biggest difference between Windows/macOS and Linux is that you don’t need extra libraries for most programs. There’s the occasional C/C++ runtime (that does get shared whenever possible) and a few proprietary DLLs for things like games and Qt, but the OS itself already contains everything. That’s why Linux/BSD has a wide range of package managers to update system components, while Windows just updates itself as if it’s one big piece of software.
You don’t need to manually specify a version of GnuTLS/BoringSSL/OpenSSL, because every target your application is deployed onto is guaranteed to have a TLS library. You don’t need to bother with picking a GUI library because the SDK provides you with all the GUI controls you need. Sometimes the existing libraries are too old (i.e. when Chrome wants to do modern TLS on old systems) or they’re products you paid (i.e. highly efficient video codecs, compression engines) so you ship them along.
The packaged APIs aren’t always better (dealing with COM can be a real pain) but you probably don’t need anything that isn’t already installed on the most barebones version of the OS.