Post a Comment
C++ - Given a choice between C, C#, Objective C or C++, I believe that the vast majority of developers would choose C++ for native application development. I know that I would.
The ordering goes:
C/C# -> EVERY OTHER LANGUAGE EVER WRITTEN INCLUDING BASIC -> C++.
At least that's my opinion on the matter. Maybe there's some still romantically involved with c++, but this developer loathes the language.
Edit: No offense to other languages, such as python, for ordering you below C/C#, I was mostly trying to show my distaste for C++. In all truth I prefer Python to C.
Edited 2006-02-18 17:47
Agreed. That, and the OO-model C++ promotes is severely broken in my mind, along with most other "OO languages."
edit:
Well, except for the C/C# part. C was a wonderful language, but isn't really useful at all anymore. I don't have much experience with C#, although really it just looks like a slightly cleaned up C++/Java mix. I don't much care for static typing, either
Edited 2006-02-18 18:54
C still has uses, although there are better languages for many tasks. C really isn't bad for any small application, and it's great for systems.
C's also nice for writing compatible libraries.
I've not had any experience with C#, just been reading through Troulsen's book on it. It looks like a pretty nice language. Although they've been adding lots of complication to it, I can definitely see using it. I also rather like the way .net's runtime system is architected (don't care much for .net itself though): Building to a compatible ASM and at runtime taking the ASM to runnable code in chunks as needed.
Right, that's why nearly every popular desktop app is written in C++:
* MS Office
* Photoshop
* Dreamweaver/Flash
* Virtually every commercial computer game made in the last 10 years
* Firefox
* Google Earth
etc etc. I guess the entire software industry are idiots, it's the only explanation 
Right, that's why nearly every popular desktop app is written in C++:
* MS Office
* Photoshop
* Dreamweaver/Flash
* Virtually every commercial computer game made in the last 10 years
* Firefox
* Google Earth
Actually, a lot of computer games now are moving away from C++ and more towards scripting languages or other high level languages.
etc etc. I guess the entire software industry are idiots, it's the only explanation
Not the entire software industry. It usually takes a while for things like this to change, although it's already started happening--just very slowly.
Right, that's why nearly every popular desktop app is written in C++:
<snip>
etc etc. I guess the entire software industry are idiots, it's the only explanation
De facto standards mean nothing
After all, Windows 98 was for a long time the de facto standard for desktops, following up Windows 95.
C++ is a horrid language, for which the only claim to fame (widespread use) is that it looks like C, which back in the day was the most-used language, in a time where there weren't much better alternatives yet.
The fact that lots of people use it doesn't reflect positively on its quality. It simply means that the cost of switching to something else would be too high. In the engineering world, there are lots of programs that have text-file interfaces directly based on the punchcard format they used in the 1970s. Nobody bothers updating those interfaces. Is that because a primitive text-file* is a superior mode of interaction? No! It's because the retraining costs of moving to something else, even if it were dramatically better, would be huge. It's cheaper to just spend much more training each new user than to fix the interface and have to retrain all the existing users.
*) That is not to say that text-files are primitive, but rather that these particular text-files are primitive!
Did I say you had to be an idiot to like C++?
Most of those applications stem from the early 90's when C++ was _the_ language. Guess what, it's not 1993 anymore
.
C++ is an excellent game language. It gives you object oriented structures without giving you a garbage collector.
However, 99% of us don't write games.
Many popular programs, especially on Unix, are not written in C++. Typically they get done in c because c++ pretty well failed to get rampantly popular in the Unix world.
Applications like Eclipse, OOo, and Apache are examples of programs not written in C++. They seem to be fairly popular in their markets from what I've seen
.
Well, every popular desktop app is ladden with security holes too, maybe this is related?
One can wonder if their producer were held accountable for the security holes, would they choose a different language?
For the language, I think that C# is superior to C++, now I'm not sure about the performance/memory consumption..
I've only use one .Net application until now: ATI driver and it's sloooowww.
It was because C++ was the easiest to dock onto the given interfaces.
But face it as we speak even the desktop application programmers are moving away from good ole C++ towards saner grounds, and computer game people already have integrated scritping languages and java into their core code years ago for non performance related task.
The only reason most desktop programs are written in C++ is legacy reasons, no one ever would start to program a new office in C++ anymore nowadays in fact the last office suites written all were done in java (that is the last two coming out the last two years)
But face it as we speak even the desktop application programmers are moving away from good ole C++ towards saner grounds, and computer game people already have integrated scritping languages and java into their core code years ago for non performance related task.
But the core (the engine) is written in C++. An script languages are only used for level design (and that’s because the level designer are designers and not programmers...).
And I never heard that someone used Java in a (real) Game...
And KOffice is written in C++
It seems they are talking about Mac OS X.
BeOS and Mac OS X are very intertwined. Be, Inc and BeOS was started by a group of disgruntled Apple engineers under the lead of Jean-Luis Gassée. After Be's demise (basically because Gassée thought Apple would offer more for Be, Inc than the 200 million (top of my head) they already offered), ex-Be engineers joined Apple again, coming full circle.
BeOS takes many things from the classic MacOS. And in turn, OSX has taken many things from BeOS (ever wondered where the option 'double-click titlebar=minimize' in OSX came from? Or Spotlight?).
Edited 2006-02-18 18:40
Never seen a stable product like spotlight on BeOS, sorry.
Spotlight is basically an improved version of BeFS; improved in the sense that Spotlight can search inside documents too-- the downside of that is that Spotlight is slower than BeFS (BeFS queries are instant). BeFS has all the stuff Spotlight has too (saving queries, instant update of (saved) queries, and such).
BeFS also is more handy because BeFS + people files + email files = limitless possibilities. BeFS is a lot more versatile.
Unless a search engine can search "within" the document too, then I would find it handy, but less so. I have only used BeOS once, and that was only for a short time, so can't really comment on how good BeFS is (I've pretty much only heard good things about it), but if it can't search the contents of my files, I would find it less versatile in that reguard. For instance, it is very important for me to be able to do a search on say a function I'd used in some source code and find it. I don't think Spotlight is perfect, but I do love it so. Looking forward to see what it is like in 10.5 and how MS implements this in Vista.
Oh, C++ is old and horrible, I love Obj-C in that it takes away the need for bad things like Active-X. Java is growing and growing on me! I thought C# was nice too when I used it a while back, but don't like the idea of being locked in (yes, I know about Mono) so will stick with Java for now, but will keep my eye on it... By the way, anyone who hasn't used Java for a while and consider it slow or cumbersome in some areas (like threading), it might be worth having another look at it, esp. stuff like nio...
Spotlight is basically an improved version of BeFS; improved in the sense that Spotlight can search inside documents too-- the downside of that is that Spotlight is slower than BeFS (BeFS queries are instant).
Sure, there's a price for indexing tons of contents as opposed to just file names and a smattering of BeFS attributes on a select few types of files. Of course, the user also had to manually specify which attributes to make indexable. Even Scot Hacker's book recommended being really careful about indexing attributes needlessly, since it would slow down the system.
BeFS has all the stuff Spotlight has too (saving queries, instant update of (saved) queries, and such).
This isn't particularly accurate. While you fairly grant the searching inside of documents (which BeOS completely lacks), you forgot the entire Importer scheme, which is really what makes Spotlight useful. With BeOS/BeFS, you can't say "find all songs whose ID3-tagged Artist is blah". Sure, you can run a program that manually syncs your ID3 tags to BeFS attributes, but if you ever update one, you'll have to manually update the other. With Spotlight, that's all automatically handled for you. It was always a major gap in the BeFS functionality (which the Be engineers have freely admited to) and largely kept BeFS from being much more than a "hey, cool!" curiosity rather than a useful tool for end-users.
BeFS also is more handy because BeFS + people files + email files = limitless possibilities. BeFS is a lot more versatile.
Limitless? Here's one limit: find the e-mail John sent you containing the phrase "my essay about BeOS". You can't, since the contents aren't indexed. As opposed to, say, Mail.app, where I can easily search the contents [or "To", "From", "Subject"] of all my messages easily. How is BeFS more versatile here? And what "possibilities" do you get from indexed people files (which you basically get through Mac OS X already) and indexed mail message metadata (i.e. "To", "From", Subject") that makes it so "versatile"?
I don't mean to sound critical. It's just that since I started using BeOS (R2), I heard countless reports of all the awesome stuff I'd be able to do with BeFS, e-mails, and people files, but I've never really heard someone mention anything specific, concrete, and compelling. I know of no functionality that exists in BeFS that doesn't also exist in a system like Spotlight, and course Spotlight has a lot of important functionality that BeOS is lacking. (Mainly, as said earlier, content searching and Importing).
I think the only reason people would questions Haiku's relavance is whether we will see a finished product. Back when they were OBOS, they thought they'd have a product in a year. It was an unreasonable thing to shoot for and it does look like they're on their way to completion (yay!).
Anyway, none of these things mentioned matter unless there is a finished product. Do I care if I don't have to run checkdisck on a filesystem that I can't use? Do I care that writing my applications using a stable API/ABI gives me a lot as a developer if that API/ABI doesn't exist yet?
That is why Haiku does NOT matter -- YET. If Haiku is able to complete their project, it will be huge for many of the reasons that they've stated. When that happens, I will be really happy.
I like Beos because the design is cleaner and simpler than many other operating systems.
I really like the look of the new Xgl and Compiz stuff and the new taskbar and GUI of Novel Desktop Linux 10, but I am put off when thinking that underneath that there is the usual Linux backend, which I associate (maybe unfairly) with bloat and slowness and ugly design.
I wonder if Haiku would ever do something like Xgl?
Also, look at SkyOS - they even have .NET running. Would Haiku ever get something like that running?
I think that one of the possible problems with Haiku is that the momentum is with Linux and so it is difficult for other alternative systems to become popular. I can imagine that many of the most popular apps that would eventually exist on Haiku would be ported from Linux, such as Firefox, or OpenOffice and so on - not because they are a good fit for Haiku, but because no-one will bother writing apps specifically for Haiku, besides small little utilities and so on...
but I am put off when thinking that underneath that there is the usual Linux backend, which I associate (maybe unfairly) with bloat and slowness and ugly design.
Quite unfairly. Linux is one of the more cleanly designed OSs in common use. The Linux developers are not conservative about moving the whole kernel to adapt to new models. For example, the fine-grained locking work was done very quickly compared to how long it took FreeBSD using a much more conservative schedule. The Linux developers are anal about having special-purpose interfaces within the kernel, and making everything use common kernel services.
It has warts, for example in the area of device management where the whole hotplug/udev/coldplug/etc thing has become quite convoluted, but overall, its a lot cleaner than either OS X's or NT's kernel. The design isn't as clean as BeOS's kernel was, but let's face it --- the reason BeOS was so clean was because it wasn't a mature OS with millions of users. The "real world" often necessitates adding cruft into a kernel. Ugly drivers sometimes have to be added to support popular hardware, elegance must sometimes be compromised for performance, etc. However, Linux does a better job dealing with "reality-induced cruft" than most other contemporary designs of a similar scale.
While I agree with most of the points on the list, I also find huge problems with C++. It is easy to get absorbed into OO and C++ textbooks about how wonderful OO & C++ are for solving real world problems but when the sh1t hits the fan its not so easy to build useful GUI apps that work right.
Take a look at the sample folder included with every BeOS extras folder and read the code for some small apps. Some of the code is pretty obvious but I suspect 95% is entirely unintuitive. Showimage for instance does very very little and yet is a 100K binary. When it takes so much code to build such small apps, what do you get, alot of half finished and abandoned apps like on BeBits. And that is BeOS Haiku real problem, too difficult to start from scratch to build your dream app without alot of investment in time to learn the kits that are of little use if you want cross platform versions.
I personally welcome any ports of kits used to bring in other OS apps whether .Net, gtk python, wx, whatever floats your boat. Finnished apps are infinitely more useful than half done apps done in the native kits.
My real gripe with C++ is concurrency, it has no support for the notion and the fact that multi cores like Niagara will be the norm in years to come and that BeOS is pervasively threaded only highlights this mismatch. While I am learning the kits it does seem that eash seems to be well thought out, but they take along time to master. If only there was an alternative to C++ with PAR built in with a native event model in the language but hosted by the OS. Such a language and kits should be portable across OSes, no one should be held captive to an OS. Such a language and kits should be able to find most of the needed hooks in most complete OSes. In away I really would have like to see the Be kits themselves made cross platform, I believe Gobe had achieved this goal before going away.
transputer guy
You know, there are many OSes out there and I still believe we need some more.
Personally, I hate everything from Apple. It's really hard to customize their stuff and it's really boring to use.
On the other side, I love Windows. I love it so much for almost 2 decades now. I'm a developer and I personally believe that for desktop applications, Windows is the greatest. I will never forget the good old days when I spent most of my time playing around with the Win16/32 API. Awesome. Then .NET came around, and yes, I have a lot of fun with it. Thanks Bill for all these moments.
I Love Linux too, for server stuff. I think I first installed linux on one of my home computers a decade ago. I think it was Slackware 3.3. I got it off sunsite.unc.edu or cdrom.com. Great memories! At first, I loved X Window and those Motif interfaces. It was so old school. Now I still use Linux (and still use Slackware) but only for server stuff. I don't really like other distros because I think they are bloated (my opinion, i don't want to start a flame war). And I don't like DE like Gnome, KDE. Why? It's slow and the libs they use aren't so great. (GTK, QT). And it's a bit too buggy for me. Well, I still like to start X Window once a month just to play around with FVWM, CDE... It's great you know.
Finally, there was BeOS. I loved that damn thing. Most of my favorite tools on Linux were ported to BeOS and the GUI was so much more responsitive than X Window + some DE. It was the thing to use to enjoy some Linux stuff without having to deal with what I didn't like of most Linux installations (GTK, QT apps). It was perfect for what it does. I really hope Haiku will get finished.
And it's not all about Windows, Linux, Haiku, whatever. There are still places for new OSes. It's cool to have more than a few choices.
By the way, I'm the only one to miss Motif looking applications under Linux?
I blame GTK and QT for that 
Haiku is an OS designed for the nineties. It was conceived, and built, with the technical considerations of that decade in mind. As well as technical considerations, it was built with the expectations of users of the nineties in mind. Internet was new, foreign. You didn't buy digital music, movies, books. It is now 2006. Haiku wasn't *that* ahead of the game, and as has been pointed out by other posters here, OSX has come along and done most of what BeOS blazed a trail with, but added UI simplicity and robustness to it.
Haiku devs really need to radically rethink what they are doing. They are recreating a reinvented wheel of the nineties. It's so depressingly rooted in nostalgia that I fear this will become even more conservative than the current trio of dullness we are all suffering with.
The needs of computer users have moved on. The definition of what an OS is has also moved on. The models of software consumption and media manipulation have moved on. Has Haiku? Err no, it's still that niche OS for some neverland of media professionals. As, let's be clear about this - as powerful as the BeFS/attribute/live queries thing is, most folk are not "power users", and it's arrogant of the Haiku devs to think that their 90s paradigm is the last word in UI. Take the power residing in your code and make it usable by the other 90% of the population.
So, the curious user tries a Haiku distro. Let's be generous and say it arrives this year (it won't.) What media apps to they get with it? Music player? Nope. Browser? If they're lucky. Photo sorting app? Ha ha. Nope, you'll have to buy all these apps (and maybe drivers as well) from BeBits. Another example of how Haiku is still living in a bygone era. Rightly or wrongly, Windows, OSX, or Linux provide enough for the average user to get going with their digital lifestyle - Haiku expects users to want to fool around like it's a SQL query, and then pay for really basic apps that are free elsewhere. I'm sorry, but that's the competition you are up against, and you'll have a hard time convincing anyone to give it a whirl when they ain't got no iTunes like app, or Windows Media Player type app, and any attempt at a library for your media is a query. It's just unfriendly and needlessly intimidating.
I liked and used BeOS for a time (I still have it installed somewhere), and I really wish the Haiku devs the best with their hobby, but they seem to be on the wrong track. Who on Earth wants a load of late nineties apps? People eager to try your shiny new OS that's going to revolutionise the desktop? Lose the old ideas, start offering something new, think about what an OS is in 2006, and how are you going to make the other three get scared.
VLC, Firefox (or SeaMonkey), NVu, OpenOffice (soon hopefully) ... all of these *can* come on a Haiku distro, why do you think they wont?
The core goal of Haiku has always been to match BeOS r5 (w/ bug fixes) for its initial release. It's a solid milestone, and they'll happily make it when they're ready.
So, the curious user tries a Haiku distro. Let's be generous and say it arrives this year (it won't.) What media apps to they get with it? Music player? Nope. Browser? If they're lucky.
Haiku will be r5 compatible, so any (non-Zeta) BeOS app on BeBits will work. There are tons of music players. Firefox is completely up to date and integrated into the system. Same for Seamonkey.
Nope, you'll have to buy all these apps (and maybe drivers as well) from BeBits.
Buy? I haven't had the need to buy ANYTHING to use BeOS/Zeta on a day-to-day basis (I got Zeta for free as a member of the press and all). Drivers are abundant for BeOS-- yes, even wireless.
Nope, you'll have to buy all these apps (and maybe drivers as well) from BeBits.
You know fairly little about the BeOS world, do you? Most up-to-date apps for BeOS/Zeta are freeware and/or open source. I can know, I'm a day-to-day BeOS/Zeta for 6 years or so.
Who on Earth wants a load of late nineties apps?
At least the Haiku project has a goal. Which is something many other operating systems are severely lacking. It is clearly stated on the Haiku website that they FIRST want r5 compat., AFTER that they will think about moving beyond thet. One step at a time.
I'm sorry, but I'm having a hard time trying to define you as misinformed, or as a troll, or both.
At least the Haiku project has a goal. Which is something many other operating systems are severely lacking. It is clearly stated on the Haiku website that they FIRST want r5 compat., AFTER that they will think about moving beyond thet. One step at a time.
And, that's why I don't really see myself switching to it. Haiku's technically awesome as far as a hobbiest project goes, but in the end it's a clone of a windows 98 era operating system. A lot of people in the community seem to want it to stay that way as well, which is one of my biggest concerns about haiku. It'd be nice to know for a fact that some modern concepts would be included and not voted down by the community. Having to manually download security patchs, for example, is something that I'd really rather not return to. They also seem really fond of the whole distro idea, which to me is the main thing which kept linux off the home desktop in the first place.
Haiku's technically awesome as far as a hobbiest project goes, but in the end it's a clone of a windows 98 era operating system.
Just because they are from about the same period, it doesn't mean that Windows 98 even remotely compares to BeOS.
It'd be nice to know for a fact that some modern concepts would be included and not voted down by the community.
If you spend some time at the Haiku forums, you'll see that they discuss directions to take the OS into all of the time, I bet even more so in the Glass Elevator project (plans beyond R1), though I haven't looked into that.
They also seem really fond of the whole distro idea, which to me is the main thing which kept linux off the home desktop in the first place.
Haiku will be the full package, a complete OS. Since it's open source, however, anyone is free to distribute their own flavour. Sure we will see alternative distros, like yellowTab's Zeta.
" it's a clone of a windows 98 era operating system"
What do you mean?
People tend to be tricked by formal names and years. E.g. from MS hype machine.
Windows 98 is based on ideas from 60s. Look at FAT from example. And at I/O implementation. It is even far behind of IBMs OS360 ideas.
NT (thus Win XP internally) uses ideas from first half of 70s.
And BeOS is based on ideas from 80s.
You can build over base design lot of funny and bloat, but it doesn't mean that OS is modern in design and ideas.
So, BeOS (and Haiku) isn't too fresh in its basis, but at least it is more modern than most of "modern" systems.
(litlle background - i dealt with hacking Unix 6 kernel at PDP11, servicing OS370 at IBM clone and VMS at VAX , so have some bits of historical picture:)
Edited 2006-02-19 02:23
OK, just to show that I'm not misninformed, just brassed off...
"Haiku will be r5 compatible, so any (non-Zeta) BeOS app on BeBits will work. There are tons of music players. Firefox is completely up to date and integrated into the system. Same for Seamonkey."
There's CLAmp. - Old, past it, wasn't too hot at the time, but was a passable WinAMP 2.xx clone.
There's SoundPlay - True BeOS designed app, more of a showcase for the media_kit than an iTunes replacement. Still charging for it.
New addtion on the block, Zetabona - more like iTunes, WMP et al, charging for it.
Firefox/Seamonkey/nVu/OO.org et al - don't get me wrong, full marks to all the devs that port these apps to even give BeOS/Haiku *some* air to breathe, but Firefox ain't integrated into the system, I doubt the leviathan that is OO.org will be either. It's come a long way since Paul was manning the project and Sergei and others have really worked hard on it, but hang around the community long enough and they know that these ports don't use their beloved OS quite the way it should be, or how it's meant to be.
"Buy? I haven't had the need to buy ANYTHING to use BeOS/Zeta on a day-to-day basis (I got Zeta for free as a member of the press and all). Drivers are abundant for BeOS-- yes, even wireless."
Well, see above for even some basic functionality. And no, VLC doesn't count. It's like any other port to BeOS, it doesn't fit in. Marcus Overhagen has since sold off the drivers he was working on (and selling) to yellowTAB. BePodder is a charge for app. Just seems like small scale, little apps that we take for granted on other OSes, there's a mentality of charge for on BeOS/Haiku.
"You know fairly little about the BeOS world, do you? Most up-to-date apps for BeOS/Zeta are freeware and/or open source. I can know, I'm a day-to-day BeOS/Zeta for 6 years or so."
Been using it since Be was in business, first heard about it 4.5. Tried PE, bought Pro, used it quite well for about a year or two. Then realised I just wasn't getting things done.
"At least the Haiku project has a goal. Which is something many other operating systems are severely lacking. It is clearly stated on the Haiku website that they FIRST want r5 compat., AFTER that they will think about moving beyond thet. One step at a time."
On this, I'll concede that Michael Phipps has got something right. Having a concrete immovable goal, and to be fair to the man, the project, yeah, it's a great thing. However, while that goal was good for the first year or two of their enthusiasm, the more this project drags on, the more it seems like an albatross. I'm struggling to grasp the point of making an OS binary compatible with an old way of doing things, just then to bin it all and modernise. Skip the recreation of the old stuff and leap into the new. But, as I said earlier, having a clear goal is a good thing.
"I'm sorry, but I'm having a hard time trying to define you as misinformed, or as a troll, or both."
Been using it long enough to be able to realise the faults of it is probably fairest to say. I use a multitude of OSes and I'm quite agnostic towards the lot of them. BeOS, I thought, would be my 'ausgang' out of the mire that was late 90s computing, but it never happened. I could probably write a post of equal length extoling the virtues of Haiku, but the hubris of the article angered me into kicking them in the pants instead.
The lasting irony of the Haiku/BeOS crowd is, they were on the bleeding edge of OS design at one point, but hang around the forums and BeShare long enough, and you'll see that it reeks of stoicism and conservatism. It's sad.
"there's a mentality of charge for on BeOS/Haiku"
That hasn't been true for a very long time. In the very beginning the plan was for BeOS to be commercial, like MacOS, Windows or the Amiga/Atari/etc. Nothing wrong with that. The times changed. Open source came along. Supply and demand. The big software houses that once had betas for BeOS retreated back to MacOS and Windows, and AFAIK have avoided Linux/*BSD, mostly. The hobbyists are coding out of personal interest, on whatever platform they prefer.
It's no wonder that FLOSS coders are flocking to a FLOSS platform, and that commercial ISVs are staying with the commercial platforms. BeOS is dead, commercially (if you discount the Zeta zombie), but to be born again as Haiku real soon now. Now is it commercial or open source? It's no wonder why everyone's hesitant to commit.
I've been a fan of BeOS since DR8.2, the first release for Apple PowerMacs, and using it myself since R3 (the first PC version). And I'm still using it as my primary OS. Yes, partly out of stoicism and conservatism. But also because of the qualities I perceive in it. I am well aware of its flaws. Eyes wide open or eyes wide shut, I don't know.
I'm rooting for Haiku, at the very least as a way to continue using my computer the way I like using it, until something sufficiently more awesome comes along. Like Haiku Release 2.0.
I try the latest and greatest Linux from time to time, and it never feels quite right, their desktop GUIs.
I think doing one thing, and doing it well is a timeless truth
. Other than that, a whole lot has changed on those 1970's OS's
.
And, gnu/linux started in the 80's. It's designed after Unix, not a straight up copy; and believe me you'd notice a huge difference. Just check out the man page for something like `cp` on both.
Anyway, I think this is useful to point out that the design time of a system is less important than the real current relevance it has to today.
I'd say the two biggest things missing on Unix today are:
1.) Handling binary data in the clipboard for X11.
2.) 3d rendered windowing, that works well.
Queriable filesystems are neat, and will likely be _the_ thing someday: But they're not now.
Yes, these are all valid points. The world has progressed since March 2000 (BeOS R5), and the Haiku developers are well aware of the fact. Haiku senior team leaders have made a conscious decision to aim for R5 compatibility and features in order to get the damn thing done. Otherwise, everyone would be off on their pet project/itch and nothing would ever get released.
Once R1 is labelled "complete", you can expect a 3-6 month brainstorm session (it's already happening on the GlassElevator list), a formal Requirements spec, and a 18-24 month development cycle to get R2 done. Haiku R2 will be the project which aims for the moon.
And there are plenty of numbers after 2 remaining...
Yeah, I read through the wiki that summarised the GE talks, and it was promising to see such forward thinking behaviour, but I couldn't help but think "why not do this now?" Cherry pick the features that should be included in a Haiku R1 and get to it.
As I said in a reply to Thom, it's seems, to me, a bit wasteful to recreate something you know is old hat in places, just then to strip it out (and probably lose BC along the way) for the next release.
Time will tell I guess
[i]Until I get working code to put on my machine it's all great bla bla, sorry...[i]
How to istall Haiku images:
http://www.haiku-os.org/wiki/index.php?title=Haiku_HD_Images
Links to precompiled images:
http://sikosis.blogspot.com/
http://www.schmidp.com/index.php?option=com_files&path=/haiku/i...
Want to rebuilt from source:
http://svn.berlios.de/viewcvs/haiku/haiku/trunk/
You can install Haiku on your harddisk, boot into a GUI and work with several applications which ship with Haiku. Some legacy R5 applications also work, and even new apps like Wonderbrush also work, and the number is increasing every day since Haiku isn't 100% feature complete yet, but it is working code.
But your bias will prevail until the Slashdot crowd decide that Haiku is the next cool OS instead of Linux.
I think a key point you may be missing is, if the OS is designed well, right from the beginning, it becomes *much* easier to extend it to be the OS users are going to want 5 years from now.
For example, the point (mentioned in the article) about the whole OS being able to be scripted (via BMessages (HMessages?)). My guess is, that means you can tie any part of the OS (like, say, the clipboard) to any other part (like, say, the app_server, or the registrar, or whatever).
Now toss in a high-level scripting language, and you can make your OS do all *sorts* of fancy tricks, as-needed. Tricks that would be much harder in an OS made up of many different parts duct-taped together (not naming any names, of course
).
The one inconsistency that I believe messes up the whole thing: licensing.
From the article, Michael says, "it is easier to talk to potential embedding situations with a BSD license." But then, we all know that Haiku is meant to be a *desktop* OS. It's supposed to *also* be embeddable? Why mix two totally different purposes?
And, for that matter, Linux gets embedded all over the place, and it's GPL.
Anyway, in general, if your project will likely become very popular with non-developers, it will also become attractive to large companies looking to make a buck on it. Haiku is (or, may become) such a project. What happens when a commercial interest comes along, hires up some or all of the Haiku devs, adds in their (or someone else's) patented libraries and various licensed technologies, and gets it bundled with Dells? Do you think original pure MIT-licensed Haiku (sans patented software, sans other licensed tech) is going to have any support? No. Users will simply buy the fancy version and complain that your all-open-source plain vanilla version doesn't have any of the "great features" of the "real" version (at which time, steam will shoot from your ears out of frustration).
How does that benefit the free software community? It may benefit the Haiku devs (because it'll get them neat jobs), and will certainly benefit the company that promotes/embraces/extends it, but, in the long-term, is the community any better off?
Choosing an MIT-/BSD-style license, for a project that's designed to be popular with non-tech-savvy folk, is a recipe for long-term disappointment for the free software community.
I was thinking he ment embedding code... Like, taking their source, putting it in yours, and licensing yours in your own closed way.
To do this in a GPL program you have to link against it dynamically and hope people think that's ok (cause most believe it's not, and you need the LGPL to do that much).
Simplicity - Every programming project that is not brutally trimmed (and, honestly, very few are) grow hoary with age. Functions are obsoleted but not removed, reasons for performing a particular action become irrelevant, hardware is discontinued but the code doesn't change.
Well said!
There were some months during which I deleted more code than the I and the other 5 or 6 contributing programmers added to the large C/C++ project at my last job. I would spend hours tracing and greping to see where some function was used, only to learn that every function that called it was also obsolete.
I haven't used any of the BeOSlets yet, but brutal trimming is definitely the right approach.
> > but, in the long-term, is the community any better off?
>
> Well, if, as you described, the users prefer the
> proprietary version over the open source, wouldn't you
> say they're happier? Otherwise, they'd just be using
> the open source version, now wouldn't they?
The users != the free software community. That was the whole point of my writing "for a project that's designed to be popular with non-tech-savvy folk".
The community of contributors who put their own time and effort into making Haiku -- my guess is that they will probably not be happier after the propietary, more popular, closed-source version gets filled with patented, licensed, DRM'd software. When commercial, third-party off-the-shelf Haiku software won't run on their pure version because it requires whatever special sauce company X put into the OS libs. At that point, after all their users have left for greener pastures (where iTunes for Haiku works!), Haiku contributors will likely feel like stooges who worked for free to make company X rich. That's my guess.
The community of contributors who put their own time and effort into making Haiku -- my guess is that they will probably not be happier after the propietary, more popular, closed-source version gets filled with patented, licensed, DRM'd software. When commercial, third-party off-the-shelf Haiku software won't run on their pure version because it requires whatever special sauce company X put into the OS libs. At that point, after all their users have left for greener pastures (where iTunes for Haiku works!), Haiku contributors will likely feel like stooges who worked for free to make company X rich. That's my guess.
You seem to be confused. If the developers felt that way, they wouldn't have used the MIT license. In fact, I'd go so far to say that, if the developers only care about themselves, it's not really for the community, now is it?
In the biggest example I can point to, Axel Dorfler redid a certain MIME function and the time it now takes to do the MIME search/query/whatever, went from 30 seconds to an unbelievable 4 milliseconds! An increase of about 7500x faster (according to Axel)! What OS (or piece of hardware) has EVER seen an increase like *that* by one single person? None that I can think of. I doubt any company has ever produced a performance increase like that, in human history! Unless you consider maybe going from muskets to the A-bomb. But that's destructive increase, not productive increase. :-)
I'm sorry, but Haiku, Inc. is doing everything RIGHT the second time around, from the ground up, not just patching and adding onto an already existing codebase, like Zeta.
My respect and enthusiasm is 100% behind Haiku and the people who work on it.
Keep up the good work, Haiku!
Edited 2006-02-19 05:30
Interesting point, Axel must have switched a data structure from being list based to a hash table OR disk based to memory based OR added some decent caching, I will have to look that up. Such improvements are common although the rest of a system will hide much of that improvement, still its always worth doing these if the improvement is noticeable.
Remember when R1 was built in the early 90s along with all the nixes and Windows starting in the 70s, 80s, memory and disk sizes were many orders smaller then and reasonable assumptions about how big something might be on a worst case were also smaller. Back then I nmight have had 1000 files on a MacOS with 200MB HD and it struggled, today I might have several 100K files with alot of duplications and its a bear on Windows and BeOS.
The biggest improvements V2 will need will be in managing the vastly bigger content available on upcoming TeraB HDs and I think Haiku with cleaner smaller sources is in better shape to do that than the much larger code bases in the bigger OSes. The 1st nix I ever used was also a PDP11 probably had 1MB HD not that Linux code is so crufty but I bet alot of the GNU command line tools are.
I don't know what he made, but be cautious in your claims: usually when there is this kind of huge improvement, it just mean that the old code was really bad (O(n^2) or worse), not necessarily that the new code is made by a genious.
Case in point: Gnome 2.14 just put out a page explaining among other thing how they improved their memory allocator, but it turned out that their old allocator was worse than malloc, sure their new allocator is better than malloc but this huge improvement is mostly because the old allocator sucked.
These huge improvements mostly happen when the codebase is immature..
Of course, this mostly just goes to show the problems with premature optimization. If they'd just used malloc() to begin with, they wouldn't have had to write either the new or old memory allocator. It's nice that the new allocator is 2x as fast, but that's really not a big advantage for such a speci







