3 ms·
Do note that A/UX was not a "path forward" for Apple. Mac apps were all cooperatively multitasked in a single address space so all the same problems remained. m
by xenadu02 7y ago
Do note that A/UX was not a "path forward" for Apple. Mac apps were all cooperatively multitasked in a single address space so all the same problems remained. macOS (neé OS X) finally delivered Carbon which made the transition to modern features possible. That was not a trivial transition though - there were simply a big chunk of APIs that could never be made to work in a world of separate address spaces and pre-emptive multitasking, let alone your own app's behavior with respect to (or likely lack of) locking / thread safety.
Microsoft definitely learned some lessons from classic Mac in that regard but they still weren't able to promise 100% compatibility with the switch to 32-bit without compromises. Windows NT could run 16-bit apps in a rock-solid way but not all apps would run: some APIs were just incompatible. Windows 95 could run just about anything but had infamous reliability problems.
IMHO the takeaways are:
1) Platform transitions can be difficult, especially if you haven't done one before and don't know what will bite you about your current platform
2) Compatibility is key. Where you can't maintain binary compatibility offer source compatibility. If you can't offer 100% source compatibility, then offer as much compatibility as you can. Every little bit helps.