4 ms·
> NeXTSTEP itself, while revolutionary in aspects, did not have long commercial success. However some of its ideas and technologies live on in Mac OS, after cor
by badc0ffee 10mo ago
> NeXTSTEP itself, while revolutionary in aspects, did not have long commercial success. However some of its ideas and technologies live on in Mac OS, after corporate M&A and consolidation in the tech sector.
On the contrary, macOS is NeXTSTEP plus several years of development. It's what the NS means in NSLog.
- erichocean 10mo agoAnd iOS of course is also derived from it.
- pipo234 10mo agoI guess it's a bit more subtle. The point that the article makes is about opening up NeXT to other hardware platforms. So while from one perspective, you might argue it lives on inside Apple, you could also argue that's where nextstep died. In the early 2000s I worked for a company that went all in on NeXTSTEP a decade earlier. The product was developed in a "4 GL" called 4D or 4th dimension. We had to do a painful migration to windows nt/xp because NeXTSTEP was discontinued and apple actively fought to kill attempts to fork or open source the code base.
- anthk 10mo agoYou could port tons of code to GNUStep or that other Cocoa libre API.
- astrange 10mo agoThere's plenty of differences. The device driver stack and window server are all totally different.
- lukeh 10mo agoAnd Mach 3 vs 2.5. And a 4.4BSD (well, *BSD) user land, although in fairness the original, never released NEXTSTEP 4.0 also had this.
- anthk 10mo agoSo is the jump between W9X and NT based OSes, both in the kernel, graphics modes (GDI, Direct Draw vs Direct3D to draw the desktop, compositing window managers...) and the like. Specially after Windows 8 where Direct Draw it's slow as hell and you need to use WineD3D which runs ddraw.dll on top of OpenGL. But you can use Win32 on both.
- flohofwoe 10mo ago...I'm pretty sure the same would be true in any modern version of NeXTStep had it survived as its own 'brand' (apart from slightly different requirements caused by the hardware the OS needs to run on of course - e.g. running on a handful different Apple devices versus having to work on 'everything').
- astrange 10mo agoDarwin ditched the old driver stack for IOKit because they thought it was icky to have ObjC in the kernel. That's pretty much entirely up to leadership changes, not technical reasons.
- pjmlp 10mo agoAgreed, the same way Longhorn, Midori and Singularity failed to win the hearts of Windows team, while Android and ChromeOS obliterated their mobile and US school market. Turns out using a managed userspace is viable, if management is on board to support the development all way through.
- pjmlp 10mo agoIt used to be, Tahoe is generations away from NeXTSTEP. NeXTSTEP drivers were written in Objective-C, originally OS X used C++ subset based on COM (IO Kit), now moved into userspace and called Driver Kit, in homage to the NeXTSTEP DriverKit name. NeXTSTEP was focused on OpenGL and Renderman, OS X used OpenGL, macOS is now using Metal. NeXTSTEP drivers were on kernel space, now everything is moving into userspace. NeXTSTEP used Display Postscript, OS X moved into PDF subset, nowadays that is only part of the rendering stack. NeXTSTEP had a X Windows Server as well, on macOS that is now gone. macOS Finder is nothing like the NeXTSTEP file application. NeXTSTEP supported a concept similar to OLE, it is nowhere to be seen on macOS.
- jdboyd 10mo agoIs macOS in any recognizable way still a micro-kernal operating system or did that get removed as well?
- pjmlp 10mo agoOS X was never a proper micro-kernel, rather an hybrid one like Windows NT, using still a micro-kernel like approach but with subsystems on the same process space. https://fahrplan.events.ccc.de/congress/2007/Fahrplan/attachments/986_inside_the_mac_osx_kernel.pdf https://fahrplan.events.ccc.de/congress/2007/Fahrplan/attach... https://www.amazon.de/-/en/Mac-OS-Internals-Approach-paperback/dp/0134426541 https://www.amazon.de/-/en/Mac-OS-Internals-Approach-paperba... If anything it is going more into that direction, after Apple announced removing all kernel extensions, and having userspace counterparts to them. https://developer.apple.com/documentation/SystemExtensions https://developer.apple.com/documentation/SystemExtensions https://developer.apple.com/documentation/systemextensions/implementing-drivers-system-extensions-and-kexts#Implement-low-level-services-using-system-extensions https://developer.apple.com/documentation/systemextensions/i... Usually it takes one OS version between introducing new userspace APIs, and removing the old way on the following version.
- wpm 10mo agoApple removed third-party kernel extensions (and even so only removed the ability to install them without going into recovery and changing a scary box). There are still lots of .kext files in the /System folder for hardware drivers.