Running BeOS 5 in QEMU (i386) (2022)
john-millikin.com
john-millikin.com
While working at either Netscape or AOL (he can't remember which side of the transition it was), a developer BeBox was delivered, to assist in porting Netscape to BeOS. It was one of the first dual-processor machines that many devs had ever seen.
It had an activity monitor which showed two bar graphs for the load of each CPU, but unusually, you could click on each CPU to turn it on and off, to turn the system into a single-CPU machine.
He wondered what happened if you turned both off. So he did. The machine obediently froze, and had to be hard rebooted.
You'd never find an OS that let you do that today!
I tested on real hardware too, and it worked well
Spent a lot of time learning the kernel and support "kits" and porting some of my large baseball related code to it.
Could'a been a nice little operating system despite forcing me to learn C++ better.
Lots of math with crude estimations for stuff. It's not Moneyball-related, just odd things I like to wonder.
https://news.ycombinator.com/item?id=22002062 (Jan 9, 2020, 420 comments)
(Found it while writing a comment that was voided by that thread...)
[1] https://www.hackneys.com/docs/in-the-beginning-was-the-comma...
Although I have a fondness for BeOS, and used it as a daily driver, it was more of a tech demo. It was missing key things (like printing), and security.
Oddly enough, Objective-C, which seemed like a loser at the time, fared much better and still underpins the GUI classes in Apple’s operating systems. The simple syntax and dynamic nature of Obj-C gave it much better longevity.
(In addition to BeOS, there was another major commercial operating system created in the mid-90s with a pure C++ API. It was called Symbian, and unlike BeOS it was actually very popular for a while. In 2003-2011 hundreds of millions of Symbian devices were sold, mostly Nokia smartphones. But even though these devices supported native apps with advanced features like OpenGL, few apps were made because the API was so baroque, and anyway few users would discover the apps because there wasn’t a simple app store. Symbian is a great example of having the right ideas early but a completely wrong approach to implementing them.)
The iPhone made VB6 developers learn Obj C. It was a seismic change.
That doesn't explain the massive gap between objective-c's invention and the invention of ios/iphone. There's clearly more to the narrative than that.
IMHO, the massive gap supports the idea that iOS is the main driver of Objective-C popularity.
When Apple build the iPhone, they used their Mac OS X know-how to build a new-but-familiar operating system, and they of course used Objective C.
The iPhone was a massive success, and the native development language for it was Objective C, so when they opened up the platform to third-party developers, Objective C was all of a sudden an overnight success!
Kind of, they also introduced Java as OS X system language alternative, with a Objective-C runtime interop, as they were uncertaint that the Mac OS developer community, raised in Object Pascal and C++, were that keen in adopting Objective-C.
Java as official OS X language only got deprecated after it was clear the Mac OS developer community was keen in adopting Objective-C.
Also the Objective-C driver framework from NeXTSTEP was rewritten in an C++ subset, based on COM's design.
Objective-C driver subsystem from NeXTSTEP was replaced by C++, and plenty of subsystems are written in Objective-C++.
Metal uses C++ as shading language.
As ex-Nokian, Symbian failed not because of Symbian C++, but because of management and internal politics.