> 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.
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.
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.
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.
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.
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.
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.
...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').
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.
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.
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.
I would really like for it to be easier to run NeXT/OPENSTEP on modern hardware --- somehow, since Mac OS X 10.6.8, Mac OS has gotten ever less comfortable (and I really miss the "Unix Expert" checkbox, as well as the repositionable main menu, tear off menus, pop-up main menu, Display PostScript, nxhosting, &c.
An educational copy of OPENSTEP 4.2 was the last thing I purchased for myself from Apple since they discontinued the Newton MessagePad.... and I'm sad my Cube quit booting, and that I never got it running on my ThinkPad.
I used to have a NeXTStep HP workstation back in the day. Worldcom had hundreds of them running custom network monitoring. I think we were one of,the biggest NeXT installations outside of the NSA.
>NeXT tried to get its own NeXT RISC workstation to market (chased a chimera) and looked at Motorola 88000 and PowerPC
Jobs made a huge mistake by going with the 68K in the first place. DEC would prove just a few months after NeXT's October 1988 launch the viability of a MIPS-powered workstation.
Even better, in the long term, would have been to go with the 80386.
In fairness, I think it wasn't obvious that Motorola would run into so much trouble with the 68k line, or that 80386 would be the far-away winner. Sun and many others were betting on 68k, too.
Sun launched its first SPARC-based system more than a year before the NeXT launch in October 1988.
Sun came out of Stanford and was aware of the Stanford and Berkeley RISC architectures (the latter of which led to SPARC). NeXT had academia heritage, too, via Mach from CMU, but I guess it wasn't enough to persuade Jobs to go for a more exotic architecture than the one he was familiar with from Apple, or the "enemy" in Intel.
One can see a world in which NeXT goes with 80386 from the beginning, eventually pivots much earlier to software-only, and becomes a real rival to Microsoft and IBM in the early 1990s to provide a multitasking successor to DOS. Or, for that matter, IBM goes with NeXTSTEP (or just buys NeXT) instead of the AIM Alliance.
No dispute on the facts about Sun etc. "more than a year before" is not a lot of time in hardware launches, and that was a very dynamic time.
Regarding Sun, some good old HN discussion here:
https://news.ycombinator.com/item?id=29082150
But the alternate computer history is interesting to imagine, could have been via x86 or PowerPC with IBM or something else. Same with Be.
> 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.
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.
You could port tons of code to GNUStep or that other Cocoa libre API.
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.
Is macOS in any recognizable way still a micro-kernal operating system or did that get removed as well?
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.
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.
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.
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.
There's plenty of differences. The device driver stack and window server are all totally different.
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.
...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').
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.
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.
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.
And iOS of course is also derived from it.
I would really like for it to be easier to run NeXT/OPENSTEP on modern hardware --- somehow, since Mac OS X 10.6.8, Mac OS has gotten ever less comfortable (and I really miss the "Unix Expert" checkbox, as well as the repositionable main menu, tear off menus, pop-up main menu, Display PostScript, nxhosting, &c.
An educational copy of OPENSTEP 4.2 was the last thing I purchased for myself from Apple since they discontinued the Newton MessagePad.... and I'm sad my Cube quit booting, and that I never got it running on my ThinkPad.
100% this.
Let's hope projects like https://github.com/trunkmaster/nextspace succeed.
Yeah, a nice GNUstep or similar environment for Linux would be a workable option --- I'd love to see something optimized for a Raspberry Pi....
I used to have a NeXTStep HP workstation back in the day. Worldcom had hundreds of them running custom network monitoring. I think we were one of,the biggest NeXT installations outside of the NSA.
What we really needed was NeXT on Alpha. So much cool tech lost to the Wintel juggernaut in the 90s.
>NeXT tried to get its own NeXT RISC workstation to market (chased a chimera) and looked at Motorola 88000 and PowerPC
Jobs made a huge mistake by going with the 68K in the first place. DEC would prove just a few months after NeXT's October 1988 launch the viability of a MIPS-powered workstation.
Even better, in the long term, would have been to go with the 80386.
In fairness, I think it wasn't obvious that Motorola would run into so much trouble with the 68k line, or that 80386 would be the far-away winner. Sun and many others were betting on 68k, too.
>Sun and many others were betting on 68k, too.
Sun launched its first SPARC-based system more than a year before the NeXT launch in October 1988.
Sun came out of Stanford and was aware of the Stanford and Berkeley RISC architectures (the latter of which led to SPARC). NeXT had academia heritage, too, via Mach from CMU, but I guess it wasn't enough to persuade Jobs to go for a more exotic architecture than the one he was familiar with from Apple, or the "enemy" in Intel.
One can see a world in which NeXT goes with 80386 from the beginning, eventually pivots much earlier to software-only, and becomes a real rival to Microsoft and IBM in the early 1990s to provide a multitasking successor to DOS. Or, for that matter, IBM goes with NeXTSTEP (or just buys NeXT) instead of the AIM Alliance.
No dispute on the facts about Sun etc. "more than a year before" is not a lot of time in hardware launches, and that was a very dynamic time. Regarding Sun, some good old HN discussion here: https://news.ycombinator.com/item?id=29082150
But the alternate computer history is interesting to imagine, could have been via x86 or PowerPC with IBM or something else. Same with Be.