Java on BeOS, supported by Sun
John Kenneth Grytten writes "Be and Sun have announced that they will be working together to bring Java 2 Platform, Standard Edition and PersonalJava to BeOs." They expect to have betas ready by the end of the year, with shipping versions going out 1Q 2000.
This isn't to knock the Blackdown team -- they have done a terrific job. But doing such a port really is a lot of work, maybe too much for a closed porting team. If we could open up the porting process and let those of us with different systems really bang on it, I'm sure things would be progressing much more rapidly.
Matt Welsh
For server side stuff, and for embedded stuff, Java is the way of the future. I'm glad to see movement in this direction--personal Java for Be has some real potential. Java is the only credible threat to WinCE in the long run. (Much as I like the palm pilot, it's internal memory model and APIs just don't give developers enough to work with.)
However, I have to say that I don't see much good in the future for Java as a GUI platform. Be is definately a GUI platform, so it seems to me the first step is to get that stuff working, at the technolgoy level. Maybe the Be developers can return the favour and help make Java an effective GUI platform.
Realistically, the competition is shockwave--it's fast, slick, and definately well on its way to being a class one killer app.
Java just isn't competing here--it's still slow, clunky, and cumbersome. It's pretty obvious that Sun spent 10 years perfecting Java for embedded and server applications, making a damn fine product. But then they hacked a bunch of GUI stuff onto that in a few short months and called it a "web applicaton". Applets are an outright disaster, and GUI applications don't fare much better.
Which is a shame, since it's such a good idea. Shockwave is going to kill Java unless something is done to speed up the raw GUI performance.
Don't take me as a Java hater, I'm not--I love Java on the server, and even have a big free software project devoted to making life easier there (webmacro). I just don't like the Java GUI.
I'm not aware that they have delivered on any of them. Have they actually
-- Slashdot sucks.
Java v1.3, which is actually a solid client-side programming possibility. v1.2 is nice for servers and networking, but Be is really looking for client applications. --JRZ
I would guess that it's probably easier to get Java running well on BeOS than any other environment, because Java is a thread-based language. From what I understand, Be threads are a snap.
D
----
This is great news. We've been memeber of the BeOS developers program for a couple of years, but I haven't been able to do any 'real' development on it because our code has to be able to run on other machines.
BeOS itself is so slick..once you've used it, it is such a drag (literallly) to go back to NT, or even Linux. There is _no_ refresh lag, resources are used up smoothly and predicatbly, and the whole thing boots instantaneously (at least when compared to NT!) Also, with real file jouranling, you can even shut the machine off (not reccommended though!) and not worry that you've just corrupted your entire file system; when you shut down correctly, there is hardly any wait at all.
BeOS also has a commendably simple, clean and elegant API implementation. Actually, its the cleanest, most rational C++ implementation I've seen. (Hmmm, maybe thats not saying much. I guess I should say its a great implementation regardless of language.) Interestingly, they have explicitly avoided all the C++ 'enhancements' like STL, exceptions model, etc.., etc.. and are really writing to the bone; they're really using C++ like C with simple object extensions which is the only way I'd ever use it.
I love Java, but I'm not a completly fanatical idiot about it. Right now, you simply couldn't implement the low-level parts of a decent OS in Java. If this is a good Java implementation, with the BeOS finegrained threading, clean graphics mdel, etc.., this has the potential to be the best Java implementation of them all. Truly the best of both worlds.
Still trying hard to keep my expecations down so if its a half-assed implementaiton I won't Be Bummed..
Don't forget that Sun think that they're in a difficult position because of the Linux vs Solaris issue, so inevitably there will be internal pressure from some of their divisions *not* to help out the Linux scene too much. In contrast, adding value to little ol' Be holds no danger for them.
In reality of course, assuming that they really make no money from Solaris as the rumours suggest, their best bet is probably to GPL the entirety of Solaris and to support all free operating systems equally on their nice hardware. Unfortunately, internal politics may not allow that --- the Solaris empires within Sun are far too deeply entrenched in the internal political mechanisms of the company. A pity.
"The question of whether machines can think is no more interesting than [] whether submarines can swim" - Dijkstra
"major selling points for Be is the speed."
So it makes an excellent platform for running Java.
"It's slow, ugly, and a real hog of cpu and memory."
On the other hand, you can develop software really fast with it, its language is much more elegant than C/C++ and performance is good enough on the server side.
"Can't we move on? There are _hundreds_ of better alternatives."
Name them, I hope perl isn't on your list.
Jilles
This really depends on the platform you're using Java on, and what you do with the app before you run it. TYA gives a pretty respectable speed boost. GCJ has just now worked for me (I had to install the GCC 2.95.2 RPMs from Mandrake onto my RH6 box):
./Hello
garrett@isomorph:~$ time java Hello
Hello World
1.52user 0.27system 0:01.79elapsed 100%CPU (0avgtext+0avgdata 0maxresident)k
0inputs+0outputs (7492major+4733minor)pagefaults 0swaps
garrett@isomorph:~$ gcj -o Hello --main=Hello Hello.java
garrett@isomorph:~$ time
Hello World
0.14user 0.03system 0:00.17elapsed 100%CPU (0avgtext+0avgdata 0maxresident)k
0inputs+0outputs (1448major+193minor)pagefaults 0swaps
While this is as far as it gets from industrial-strength benchmarking, all I can say is "oof".
Nothing worth doing is worth doing today.
It shouldn't be too difficult for SUN to port the JVM since its code was designed to be ported to more than one platform.
They will probably won't deliver a 1.3 JDK since that jdk is still several months away from final release and they probably don't want to add another platform for it right now.
Jilles
Actually, on my system:
Boots in 14 seconds
Installed in 10 minutes (though a 3 minute full install was recorded somewhere).
Oh, and java isn't slow, the implementation is. Calling java slow is much like calling 3d first person shooters slow, because of some crap game.
It's fast enough, professional (semi) looking, and doesn't tax my cpu nor ram.
BeOS plays wonderfully with TNT[2]'s, as long as you don't expect 3d. Also, you can get BeOS for cheaper than 80, and I don't recall them giving away the PPC version, when was this?
Huh? The CODE is freely-redistributable. Binaries might not be, but the code always will be. Presumably you're not that dumb, and you're just trolling.
Another troll. The first poster (you?) claimed that since it was GPLed, the code was not freely redistributable. Name me a situation where the GPL stops you from distributing the code? It may prevent you from hoarding the code, but if that is what he (you?) meant, I can only assume he/you would have written that. Once again, I'll assume you're trolling, or perhaps english isn't your first language.
No one is forcing you to distribute your code under the GPL. If you want to use GPLed code, you're gonna have to GPL your code, but no one is forcing you to use GPLed code either. I don't see your problem here. You still have the freedom to not say something. Just don't use GPLed code in your software. It really is that simple.
From a certain mindset, or perhaps political standpoint, you are correct.
On the other hand, there are those who approach open source/free software/etc. from a more pragmatic standpoint. They want *good* software: software that isn't bug-riddled, poorly designed, painfully slow, and counterintuitive. For those, they see open source as a way to avoid those pitfalls.
BeOS is a closed-source example of how to do things *right.* ESR, the champion of the pragmatic, and not ethical/moral, open source arena, praised BeOS for it's technical points. Unfortunately, ESR also slammed it as being proprietary (contrary to his statements about wanting to live in a world where software doesn't suck).
Frankly, I used BeOS, and now I'm learning Linux, and so far I've yet to find anything I want to do in Linux that I can't do in BeOS easier and quicker. As a developer, I've yet to find any API in Linux that approaches the cleanliness and coherency of the BeOS API (KDE, compared to the BeOS API, is a disaster). The only sticking point, as you say, is the proprietary nature of BeOS. Do I want them to go open source? No. Be, Inc. simply wouldn't survive. On the other hand, the closed source nature means they are limiting themselves somewhat. It's a very tough call - do I give in to the siren call of freedom and go to Linux, or do I simply use what actually suits me better and stick with BeOS?
Correct me if I am wrong but Swing supports something called pluggable look and feel (I believe I spelled pluggable right). If it does, this means that a BeOS L&F will most likely be made for BeOS. Thus, Swing will look quite a bit like BeOS's UI, unless you don't know how to change the look and feel.
As for the "idiotic 'Pure Java' crap," I'll have to disagree. If Sun "[retracts] on Pure Java, allowing better integration into BeOS, Windows, Linux, etc.," why write in Java at all? You might as well write in C/C++ or some other language (higher level than those two if you like). However, by encouraging Pure Java, Sun encourages applications that will work on all standards compliant virtual machines. That means that I won't have to take my... integrated Windows code and modify it heavily so that it will run on BeOS. If I write my program in Windows, it will work on BeOS, Linux, Solaris, or whatever platform that I choose to run it on, provided there is a VM available.
Finally, going back to the Swing issue, I'd say you are wrong on the speed argument as well. I have the JDK 1.3beta installed, and am running jEdit (my favorite text editor). It uses Swing, and I have absolutely no problems with the way it works, speed or otherwise. It could be that whatever platform you are using has a poor implementation. Hotspot makes a lot of difference (at least for me). If they are going to include Hotspot in the package (which would make sense since Sun is making the port), then I would say the GUI will be fine.
Before you complain about Sun shoving "crap" towards you, maybe you should think about why they are doing so. There are actual reasons for writing in pure Java, and it isn't as slow as many people claim.
I take no responsibility for grammar, spelling and usage in this post, as it is late, and I don't really care. I thank you for the time you spent reading this.
Just my luck that when I finally find time/warrant to post something, the moderators are probably done doing their job. Oh well, I can live on no karma, as long as it isn't negative.
I've come for the woman, and your head.
Is there some page on the be.com site where I could order a demo CD? Is the demo downloadable somewhere? I'd like to try it with my hardware...