Thanks everybody for all the informative comments.
I think the creators of Haiku made an inspired decision to reimplement BeOS, first, because it is such a good model to start from, and second, because it is not a moving target. I think what the creators did is sort of like what the creators of the GNU project did in building their versions of the unix tools.
So, given my admiration of Haiku, anything i say below about what i would find useful is not meant as any kind of suggestion of the way Haiku should grow, but only what i personally consider important in choosing a platform to write applications on. Clearly having a well-thought out api is extremely important, and Haiku has that automatically. (And it also obviously has a great community.)
One more preliminary remark is that i am not trying to stir up anything with syllable, i just joined this thread because Denise Purple’s post had a lot of resonance with me.
Now, i should respond to all of you since you were so kind to respond to me.
Marco (forart.it): thanks for the summary and the links. Regarding ReactOS, i am considering it.
In more detail: i am looking for a platform to write gui applications for, but with requirement #2 being no X11, and requirement #3 being that it has a good api. (Requirement #1 is that it be free—i used to program on NeXTstep which was awesome, but then it disappeared. Eventually some relative of it reappeared in Mac OS X, but in some ways it is quite different, and you certainly can’t recompile your old code without practically rewriting every line. I do not want to be burned by that again.)
AFAIK, that means possible platforms for me are Haiku, Syllable, ReactOS, or AROS (Amiga descendant).
The thing that worries me about ReactOS is i think they may have a moving target (windows)—sort of like GNUstep (the moving target there being Cocoa, and GNUstep isn’t cast as an OS in any event, but as a layer of some sort). It is very hard to hit a moving target, of course, especially if the target doesn’t want to be hit.
But i would be grateful to be corrected on any point about which i am wrong.
cipri: thanks for being very forthright. If you’ve already written anything up about whatever is wrong with the syllable api i’d be interested in a link to it (it might be too far off-topic to go in a Haiku forum, and i don’t want to wear out my welcome, and of course i also don’t want you to write anything up just for me). I would of course also like to hear what Kaj and Vanders have to say (but again, not in a Haiku forum). Just as a side remark, i have two coworkers who are very smart, and have very similar politics, but diametrically opposed viewpoints about certain languages and programming practices. (And they’re both good people also, friendly with everybody including each other. But man they disagree about language X and the way to program in it.)
Fredrik (tqh) — thanks for the copy/paste testimonial. I use X11 at work, and every day, after all these years, and knowing all the tricks, i still make at least one copy/paste blunder.
thatguy: thanks for the info about the experimental multi-user support, and also for the video by Leszek Lesner. When Leszek was showing the help for rsync (rsync --help), you could see that one of the lines was rsync --daemon (i.e., rsync in server mode). I’m not sure if Haiku supports it yet (because it could be that when it was ported, http://ports.haiku-files.org/, they just left the help intact).
But if it did support rsync --daemon, it would probably also support having an ssh server (the video showed only the ssh client).
Having an ssh server would be enough for remote access to the file system (and maybe just as good as nfs).
IMVHO this is important when you’re developing, so that (e.g.) you can take a quick look at what kind of files your users are producing with your software. It’s just very very handy to be able to quickly snoop around on another machine without getting up out of your chair to go interact with it: you don’t want to interrupt whatever they’re doing, or change the state of the gui, etc.
And for modern machines, which for a few hundred bucks have gigabytes of ram and terabytes of disk and execute thousands of times faster than machines 20 years ago did, any decrease in performance from having somebody remote in should be so small as to be not perceptible by a human. (I mean, telnet was available long before 1990, and even in that era, just remoting in and taking a look around would be a very light load. Today you’d do it with ssh, but the additional computational resources consumed would be miniscule.)
Regarding the double-buffering of windows, that’s not exactly the same as a window hanging around because of gdb. The idea is that when an app paints, it paints into a secondary buffer which then goes in the window. So if the app suddenly gets very slow or crashes, you don’t ever get a half-painted window. (On X11 systems you can see half painted windows in linux/firefox, for example, if some javascript or something goes crazy and consumes all the bandwidth so that firefox doesn’t have a chance to paint in its window. Sometimes shaking the window back and forth shows this effect. But in a double buffered system this doesn’t happen.) It’s not like it’s the most important thing in the universe, but given how capable our hardware it is a definite nice-to-have.
Thanks for the other info and suggestions.
Earl: Thanks for the info about multi-user, and the possible interpretations of it.
For the reasons i gave thatguy above, i don’t think the console user should have to take a hit in performance in order for a secondary user with a different account to take a look at their work on a remote terminal. It wouldn’t be reasonable for the secondary user to get a gui----that would be a slippery slope down to X11.
But i think being able to remote in and have simple terminal type access is very useful in a number of situations (e.g., if you have a bunch of machines in a lab, for example, the admin or teacher may want to flip through them ---- even in the context of a single user it may be useful to remote in and terminate a run away process that was locking up the gui).
So i guess we’ll just see what the multi-user support turns out to involve.
Everybody: thanks again for all your information, ideas, and suggestions, and i hope you all get a lot of value out of your experience with Haiku.
dan