Hacker News new | past | comments | ask | show | jobs | submit login

OSX is based on Darwin, which is a Unix (BSD-like) operating system.

I'm certain you can find complexities and bloat in there too, if you look.




I concur, macOS is a nightmare. I didn't think so before I had to write code for it, but I am currently writing code that runs on 5 OSs (Linux, Windows, macOS, Android and iOS) and macOS is by far the worst of all. In particular, everything related to filesystems was a nightmare, especially HFS+. Thankfully Apple is replacing it with the much more sane APFS.

I don't have much experience with them but I think VxWorks and QNX are good examples of simpler OSs. I do have some experience with Minix3 and it is certainly one. I guess the BSDs stand somewhere in the middle.


QNX always had practically oriented limitations of the general microkernel idea (eg. QNX native IPC/RPC is always synchronous) which allowed it to be essentially the only reasonably performant true micro kernel OS in the 90's. Unfortunately it seems that after QNX got repeatably bought by various entities the OS got various weird compatibility-with-who-knows-what hacks.


Oh hell yeah

OS X has tons of weird quirks and compatibility mindfucks going back to their transition from OS 9 (all those .DS_Store and _filename files for "resource forks")

Backwards compatibility is #1 reason for increasing complexity. Apple is sometimes good in cutting away compatibility for the sake of cleaning up, but there are still weird issues poking now and then

hell the whole NSEverything is a compatibility thing with NextStep, which is long dead.


Apple doesn't really appeat to care about backward compatibility though. They break lots of things with every release of the OS. I would give that excuse to Microsoft, but not Apple.


True. But the legacy code is still there.

Which is the worst of both worlds.


Disagree. Microsoft keep making new APIs and depricating old ones. With Mac you got cocoa which goes back to 1989 and you can still use.

It might not be backwards compatible but from a developers perspective it is nice to be able to reuse old knowledge.

I think Apple has been much better than MS or Linux in continously modernizing and upgrading what they have. On windows and linux things tend to become dead ends as new flashy APIs appear.

Sure old win32 and motif apps might still run but nobody really develops using these APIs anymore.

On windows I first use win32, then MFC, then it was WinForms. Then all of that got depricated and we got WPF, silverlight and then I sort of lost track of what was going on. Meanwhile on Linux people used tcl/tk for GUIs early on. And there was motif, wxeindows. KDE and Gnome went through several full rewrites.

If we look at MacOS X as the modern version of NeXTSTEP the core technology has been remarkable stable.

Sure they have broken compatibility plenty of times but the principles and API are at their core the same.


Quickdraw VR, Quickdraw 3D, NetTalk, JavaBridge, Carbon, Objective-C GC, RubyCocoa, WebObjects, ....

One just needs to look into the right spot.


Doesn't work, isn't maintained, but remains as an attack vector and failure mode.


I'm referencing the abilities of F500 companies to sustain OS development. OS X has roots in mach, and some BSD, but to call it either one is trivializing the amount of work that has gone on.


Of course. And they don't even pretend that's untrue. Every few releases they focus on lowering bloat.




Consider applying for YC's Fall 2025 batch! Applications are open till Aug 4

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: