The problem is that there’s so many different ways of packaging and also that Windows generally does static linking so old binaries work after a decade. Whereas old Linux binaries are generally dynamically linked and are dependent on some other old library which isn’t availible for [current kernel] and you get into dependency hell
saying “Linux does dynamic linking and Window does static linking” is both false and a mischaracterization. Windows absolutely does dynamic linking with its Dynamically Linked Libraries (.dll). how dependencies are linked is up to the developer and whatever hardware constraints. one reason i like Rust is that it prefers static linking, and a lot of tool chains are moving in that direction. the reason Linux distros push people toward their internal package management tools (eg apt) is to have tighter control over dynamic linking.
and we’re also glossing over scoop and chocolatey and winget and Docker.
but that’s where you get to stuff like flatpack and snap and Nix that try to contain the dynamic dependencies.
i don’t think downloading exes hoping that Windows has stuffed enough DLLs into the OS and just running them is a better solution.
The problem is that there’s so many different ways of packaging and also that Windows generally does static linking so old binaries work after a decade. Whereas old Linux binaries are generally dynamically linked and are dependent on some other old library which isn’t availible for [current kernel] and you get into dependency hell
so, it’s the same.
saying “Linux does dynamic linking and Window does static linking” is both false and a mischaracterization. Windows absolutely does dynamic linking with its Dynamically Linked Libraries (.dll). how dependencies are linked is up to the developer and whatever hardware constraints. one reason i like Rust is that it prefers static linking, and a lot of tool chains are moving in that direction. the reason Linux distros push people toward their internal package management tools (eg
apt) is to have tighter control over dynamic linking.and we’re also glossing over
scoopandchocolateyandwingetand Docker.but that’s where you get to stuff like flatpack and snap and Nix that try to contain the dynamic dependencies.
i don’t think downloading
exes hoping that Windows has stuffed enough DLLs into the OS and just running them is a better solution.