| ▲ | badc0ffee 3 days 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. |
|
| ▲ | pipo234 3 days ago | parent | next [-] |
| I 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 3 days ago | parent [-] | | You could port tons of code to GNUStep or that other Cocoa libre API. |
|
|
| ▲ | pjmlp 2 days ago | parent | prev | next [-] |
| It 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 2 days ago | parent | next [-] | | Is macOS in any recognizable way still a micro-kernal operating system or did that get removed as well? | | |
| ▲ | pjmlp 2 days ago | parent [-] | | OS 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/attach... 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/i... Usually it takes one OS version between introducing new userspace APIs, and removing the old way on the following version. | | |
| ▲ | wpm 2 days ago | parent [-] | | Apple 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. | | |
| ▲ | pjmlp 2 days ago | parent [-] | | Yes, however that brings it closer to a micro-kernel model, if no one else is allowed to change the kernel as shipped from factory, having everything else done in userspace. Additionally, if there is a userspace extension to an existing kernel extension, the userspace one will take precedence. |
|
|
| |
| ▲ | jhbadger a day ago | parent | prev [-] | | I don't know if it shares ancestry with the NextStep X server, but the one that used to be bundled with OS X (Xquartz) is still availsble for download (even on Tahoe) and I for one still keep it installed as I run various X11 based programs on my Macs. |
|
|
| ▲ | astrange 3 days ago | parent | prev | next [-] |
| There's plenty of differences. The device driver stack and window server are all totally different. |
| |
| ▲ | lukeh 3 days ago | parent | next [-] | | And 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 3 days ago | parent | prev | next [-] | | So 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 3 days ago | parent | prev [-] | | ...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 2 days ago | parent [-] | | Darwin 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 2 days ago | parent [-] | | Agreed, 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. |
|
|
|
|
| ▲ | erichocean 3 days ago | parent | prev [-] |
| And iOS of course is also derived from it. |