Hacker News new | past | comments | ask | show | jobs | submit login

that's a good question, and something i hadn't thought about in a long time.

macosx has mostly surpassed beos. in my opinion it's more pleasant to use today than beos was in its prime. having said that, there are some things about beos that will likely never be recreated.

that database-like file system, for instance. that wasn't just a bullet point feature. the big thing that got me hired at be was that i wrote a usenet newsreader for their operating system. i made heavy use of bfs indexes. my program could search through hundreds of thousands of message files in a microsecond to find the one i wanted. there still isn't such a thing on the mac today, or any other os. when i ported my newsreader to the mac, i had to think up workarounds for all the places where i could no longer use bfs indexes. at least a couple of weeks' work for a substandard implementation, compared to the beos way.

another one is multi-threading. for beos programming, it wasn't just a suggestion, it was mandatory. every beos window runs in its own thread, whether you like it or not. so if you came to beos kind of ambivalent about multi-threading, it sucks to be you, because you were forced to learn it. i'd say that's the biggest long-term boost to my career i got from beos: i'm better at multi-threading than any other programmer i've ever worked with.

the macosx threading model is anemic by comparison. you run the user interface in the main thread, and if you want secondary threads, you launch them yourself. since it's not used much, nobody learns how. and now they've introduced this grand central thing, in an effort to make multi-threading easier. having learned how to do it the "hard" way, grand central doesn't look like much of an improvement to me. yes, multi-threading is hard, but not that hard. it just requires more discipline than many programmers possess.

another really great thing about beos was the absence of legacy. i had earlier spent a lot of time programming for windows, and my god what a mess that is. there are things in the windows api that are weird and stunted due to decisions made in 1980. i didn't realize what a giant burden that was until i was free of it.

to its credit, macosx seems largely free of this. apple has added a ton of stuff to cocoa over the nine years i've been using it, but it still seems fresh and approachable. i think a large part of that is that apple is not afraid to toss stuff out when it gets stale and dated. microsoft, on the other hand, values backward compatibility above all else, so their apis stink to high heaven.




> there still isn't such a thing on the mac today

how close does Spotlight get you?


Two major differences.

One, Spotlight is just a search tool. They run a daemon in the background that monitors reads to the FS and updates an index [1]. In Haiku, indexing and querying is a feature built into the filesystem.

Secondly, Spotlight does full-text search and indexing whereas Haiku only indexes the attributes you attach to files.

Metadata plays a very important role in the Haiku world. You cannot fathom the extent of their power unless you use the OS. This is not a "feature" that was tacked onto the OS as an afterthought, the entire OS was built around this feature.

[1] I'm actually working on a tool like Spotlight for Haiku (http://code.google.com/p/haiku-beacon/), though development has been stalled since my PC went kaput.

EDIT: Read articles 24 and 25 for a sneak peek into BFS's more powerful features: http://www.birdhouse.org/beos/byte/


whoops, forgot about spotlight. i stopped working on my newsreader before it became viable.

i've examined the spotlight apis from time to time, and it does look like it solves a lot of the same problems. having never really used it, i can't say if it does as good of a job as bfs indexes do or not.

i can say that the beos file system is much more amenable to database-like usage than the mac file system. bfs has indexes implemented as a first-class feature, just as important as filenames or metadata. indexes are managed by the file system itself. spotlight was kind of bolted on top of hfs+. its indexes are in user-level files.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: