3 ms·
The cool thing about Mac applications is they are self contained. Very rarely do you see an actual installer. Uninstallation is usually just deleting the applic
by rrouse 14y ago
The cool thing about Mac applications is they are self contained. Very rarely do you see an actual installer. Uninstallation is usually just deleting the application from the Applications folder.
I wish other operating systems did it that way. It's very convenient.
- jahitr 14y agoIt isn't. Since every library the application needs is inside the bundle, you load multiple versions of the same lib on memory. Also counting the installer, the bundle and Brew or MacPorts you have a tons of way to install an app.
- demetrius 14y agoWell, if I'm not mistaken, Windows linking usually involves re-calculating offsets in the library code, so several versions of libraries are kept in Windows too. The only thing that is theoretically saved is disk space.
- kybernetyk 14y agoNot every. The ones that are distributed with the OS X base install usually are dynamically linked against. My current project I'm working on links against the standard Cocoa frameworks, zlib, Core Audio, Audio Unit framework and the Accelerate framework. Yet the Frameworks directory in the app bundle is empty.
- mikeash 14y agoHow often do you really have multiple third-party apps using multiple copies of the same third-party framework? How many third-party frameworks maintain binary compatibility between versions so that apps linked against different versions could still share a single installation of it?
- deleted 14y ago[deleted]
- lmm 14y agoThe problem is it leads apps to include their own copies of libraries - which then get out of date and have bugs. I remember when a vulnerability was found in zlib and just to update all of apple's first-party programs with the fix required something like 2.6gb of updates. I wouldn't be at all surprised if there were still some more obscure third party mac programs shipping the old, vulnerable version.
- flyinRyan 14y agoWell the alternative (dynamic loaded libraries) have their issues as well. After "DLL hell" and various issues on Linux in the past, I'm not convinced one side is fundamentally better than the other. 3 gig is nothing these days.
- pjmlp 14y agoMS-DOS did it, but on those days things were a lot simpler.