I thought DLL files was reason for so much error messages and malware in windows . Why would Linux and OS X use it.
Shared libraries are not a problem in OS X because users do not typically install or modify the shared libraries in OS X. OS X avoids this using self contained app bundles.
Linux avoids many issues related to shared libraries via using curated repositories as a source to get software for installation.
OS X and Linux have fewer shared libraries than Windows as well. This reduces the likelihood of issues due to shared libraries.
The install location of shared libraries is protected via DAC if DAC is enabled. DAC is much more easily bypassed in Windows and earlier versions of Windows do not have DAC enabled by default.
More user modification of the system level and weaker DAC are the primary reasons that DLLs are related to more errors and malware issues in Windows.
Also, the manner in which DLLs are loaded into memory doesn't allow applications in Windows to be fully position independent executables (PIE). Not having full PIE makes bypassing security mitigations easier in Windows.
sorry I do not understand .I thought windows comes with most DLL files and other DLL files you get when one installs the software.
This is true. OS X avoids the user installing more shared libraries by using app bundles.
This is why one should not move app around in windows or install or remove apps in windows with out using the installer.
If you move apps around in windows as windows makes DLL files and registry entry and moving it will break it.Also Microsoft wants people to use shortcuts and moving apps will break the shortcuts of path of the files.Most of the time there is a shortcuts on the desktop and start menu.
App bundles are the reason that this is not an issue in OS X. Another factor is that few third party applications are installed in the system level of OS X.
But, Windows requires the user to modify the system level of the OS to install most applications.
So is it not in the best intrest for programmers to use DLL files and the registry as you can get error message and malware not to say you cannot move apps around or install or remove apps with out using the installer.
The use of DLLs can be avoided.
But, I think developers are stuck with using the registry. Not sure about this.
Regardless if developers avoid the registry, MS will continue use the registry so most issues with the registry will remain.
I hear some small apps not the practice of big apps in windows are going this way where you do not have to install or unstall the apps it is a self contained bundle
Don't know of too many apps that are doing this. The only example that I can think of is Chrome.