consider sponsoring the team here: https://github.com/sponsors/haiku
consider sponsoring the team here: https://github.com/sponsors/haiku
The only thing that Be did have was one nifty demo, and a somewhat innovative file system. Apple must have correctly deduced that it would be easy to improve the filesystem, because they later did so, with the same author.
Comparing BeOS and NextSTEP in 1997 is like comparing a ham sandwich to a piglet and a bag of flour. One of these things was a finished product.
As much as the original BeOS network stack was mediocre (and it was, it wasn't fixed until the BONE design in that final Dano leak in 2001) the much-touted NeXT networking stack was literally the open source 4.3BSD networking code running hosted, with their awful NetInfo system on top, which Apple spent the next several years excising. Excising like the Adobe license fees cost more than a PC, few major vendors (not even Adobe!) willing to port their software to, Display PostScript GUI they had to throw out and replace.
I'll grant that they got a really good set of development tools they're still essentially using, and Be's were rough (and kind of alien, that kind of pervasive threading is _still_ hard with decades of work on the tooling).
Apple bought NeXT because the stack looked architecturally like a less-bungled version of their own failed Pink/Taligent effort, and Steve Jobs had a better relationship with people still at Apple than Jean-Louis Gassée.
There were some pieces that were slow, but overall it was a fantastic experience. The "Shelf" was great; I would store commonly-used docs there, reference materials etc.
BeOS R4–the first revision that did useful things users actually wanted–came out two years after Apple agreed to acquire NeXT. The current BeOS at the moment was "DR8" as in "developer release".
If Amelio and Hancock had been competent, they would have actually set up a management structure internally and started focusing on shipping Copland-based software instead of shopping externally. Strip it down and get it out the door and build on that. It could absolutely have been done.
Of course, you wouldn’t have the iMac or iPod or iPhone. And Apple might not have survived. The world would be very different.
(That all said, OpenStep was truly dire in 1997. Yes, it could print, although they ended up having to write an entirely new graphics stack from scratch anyway. It actually took six years from 1997 to turn moribund OpenStep into a viable consumer OS (I could not recommend anything before Jaguar to end users — the Finder, among other things, was unusable up to that point).
A short - and playing it a little fast and loose for narrative like a Malcolm Gladwell piece - telling of the circumstances:
Apple failed utterly with Taligent, and Copland, and mismanaged A/UX into the ground, so it's the mid 90s and they're shipping a hyper-extended version of a one-off from 1984 that had to be hacked for even cooperative multitasking, looking around for a platform to jump on to. With IBM's help in two of those cases. They even, reportedly, batted around giving up and becoming a shell on top of NT or Solaris by porting Quickdraw during their flail in the early 90s. Then they bought NeXT, took one more (and it was at least the third after A/UX and the MAE product which was really more of an emulator, but so was Classic) pass at "Let's slap a Mac-like shell and compat layer on top of a UNIX and call it a day" and got successful selling mostly handheld appliances running basically that stack.
IBM failed utterly with their share of Taligent and the A/UX/AIX merger planning, and mismanaged OS/2 into the ground, until IBM, once of "IBM and the Seven Dwarves" dominance, became a midsize player in the PC market they created (more through incumbent effects than technical prowess), until they gave up and sold the businesses to a Chinese clone maker and retreated to high-end niche markets. (Their spun out printer division, the legacy of their once dominant typewriter business, would also later also be bought out by a Chinese cartridge cloner, so it's almost a theme for them.)
DEC dithered on ...literally everything because they didn't understand the world after minicomputers, so all their talent left as they crumbled (which is also a large part of how AMD64 happened, there is an awful lot of Alpha lineage in the K8 design). Eventually their corpse was consumed by a PC cloner, who were themselves consumed by HP.
The UNIX vendors were too busy infighting to get much done, and all the UNIX-brand-UNIX vendors license cost overhead was too high to put up credible consumer offerings anyway, until eventually a hobby project from some kid in Finland ate their entire software business while Intel (possibly accidentally, Itanium is the culmination of a series of failures - 432,860,960 - for them too) ratfucked their long term hardware projects to death.
...And so Microsoft, then famous for 8-bit BAISCs, slowly abandoning their own successful but mutant UNIX offering (Xenix), managing to sell Seattle Computer Products' DOS to IBM after Digital Research/Gary Kidall (CP/M) didn't want to deal with IBM, and the surprising success of their awful DOS shell, ran away with nearly the entire mainstream OS market for decades by gathering everyone competent from the VMS and OS/2 lineages (they put Dave Cutler and Moshe Dunie in charge) and having them write NT. Running mostly on Intel's inescapable accidental success extension-of-an-extension-of-an-extension legacy architecture.
It's a weird field we're in.
Even as someone who has run Linux most of the time for like 15 years, the underlying tech in NT is in many ways by far the best design of the OSes that survived to modern maturity. I just hate almost everything they've done with the upper layers of the stack since 7.
1: https://itunes.apple.com/WebObjects/MZStoreServices.woa/ws/w...
Oh and they got Steve Jobs of course who made quick work of pushing out the old Apple leadership. And good that he did.
http://testou.free.fr/www.beatjapan.org/mirror/www.be.com/su...
BeOS was very light weight. Its ethernet driver for 3c509 was buggy and crashed often, but being a userspace driver, I just got a popup asking permission to restart the driver. Conversely, a couple years later I had an OSX laptop, and a corrupted backup CD that would kernel panic OSX, Win2k, and Linux. (Honestly, ISO 9660 and FAT32 drivers should be migrated out of mainstream OS kernels, since kernel latency is very far from being the bottleneck when using thunmb drives or CDs.)
On the other hand, BeOS had some questionable uses of metadata. After improperly using tar to backup my home directory before a reinstall, I lost all of my NetPositive browser bookmarks. I didn't realize each bookmark was a zero-sized file with the URL actually stored in metadata. My improper backup procedure dropped the metadata fork.
Also, there was a kernel bug related to semaphores. I had some semaphore code that worked fine under Linux but would kernel panic BeOS.
Had Apple purchased Be, we'd likely have a much lighter weight OSX, though perhaps with poorer support for multiple users.
I'm still hoping that someday QNX RTP gets open-sourced. A hard real-time light weight microkernel OS was fun to play around with. In particular, a cache benchmark I ran for a systems class showed quite a bit smaller cache footprint for QNX vs. Debian. (Though, Debian almost certainly had more daemons running, so it's not an apples-to-apples comparison of kernel cache footprints.)
A real shame that they faded out. I kind of miss those days with all the different and varied workstations – Be, SGI, DEC, HP, IBM, Sun, ...
Thankfully his opinion about C++ is meaningless outside Linux world.
Windows started to adopt C++ on the kernel since Vista, you can make use of Windows Implementation Library, a C++ template library for kernel, drivers and userspace code. Just gotta to love that VC++ /kernel flag.
macOS with its NeXTSTEP heritage, changed from having Objective-C drivers on kernel space to C++ drivers in kernel space.
Then if you bother to broaden your horizons beyond FOSS UNIX clones, there are enough OSes already shipping C++ on the kernel.