The OpenJDK Porters Group approved by a unanimous vote the proposal submitted by the recently formed Haiku Java Team to port OpenJDK to Haiku. This makes Haiku the first OS platform to be sponsored by the Porters Group, and it means that the port is now officially part of the OpenJDK family of projects endorsed by Sun. The team already has a mailing list and a project home page; a mercurial repository is also on its way. Team lead Bryan Varner gives his latest update here on his blog.
Haiku is the only OS that seems exciting to watch for me. And if they keep this kind of progress, I guess it will not take much time before I can use it primarily.
Good work (to OSAlert too, for bringing us these stories)!
Edited 2008-01-24 00:45 UTC
Same for me (although I am also interested in following ReactOS’s development).
Personally, I find it a breath of fresh air to see anything that is not another re-hash of a *nix based system.
Edited 2008-01-24 18:08 UTC
/me looks at Windows box at work.> No Java installed.
/me looks at Windows box at home.> No Java installed.
/me looks at MacBookPro.> Java installed by default, but no applications on box.
/me looks at Zeta box.> No Java installed.
/me looks at Haiku box (http://www.users.on.net/zenja/haiku/haiku.png) while browsing with mozilla and listening to MP3 > No Java installed.
So, what’s this Java thing? Anyone actually use it?
Perhaps the right question is: If you ran across a website that embedded some “rich” functionality beyond what can be done with a standard web browser with javascript – would you rather it was a Java applet, Flash, or maybe even something new such as Silverlight?
I know which answer I would choose.
Furthermore, given that Haiku (and BeOS) is still lacking in an abundance of good, modern software in all categories – Java has plenty of opportunity to fill gaps that will exist until application developers catch up with Haiku and write native apps.
Anyhow, I’m certainly no Java zealot – but come on…
in your windows machine probably everything was written in C++. i bet you dont have any application using C# , php or python either. go to a server room for a change. or visit a developer.
I’m actually a principal software engineer. We write our own Operating System, graphics library, network subsystem, API framework etc. No .NET. No Java.
Do you guys think that prior to 1995, there was a dark ages in software? You know, people were playing games, watching movies, creating media content, doing office work, browsing the net, using client/server achtiectures etc, well before Java and .NET were released to the world.
Um… yes
Well, a minority of computer users were even browsing the net prior to 1995 anyway…
In any case, you’re arguing for the non-usefulness of Java – a difficult and bold position to uphold. Perhaps in *your* world it’s not useful, but it’s clearly not a dead technology.
I got 2 words for you my friend
Trumpet Winsock!
Believe me, it was dark ages
Except the games were better.
LOL!
Then you’re a very, very lucky person.
Since I went to school and got my degree, I have been inundated with Java. In school, nearly 40% of our CS classes used Java to teach with. This is a growing trend, like it or not.
Low-level coding skills are becoming more scare among graduates. Attracting developers to a platform requires the availability to use high-level languages with rich API’s and burgeoning communities around them.
The successful Operating Systems that exist on your desktop, servers, and any other computer you come in contact with ship with manuals, marketing, and solid API’s. The wildly successful OS’s come with API’s that are familiar, have a vocal support base, and are reasonably mature.
You can carve out a niche without mainstream high-level support. You’ll attract developers who develop for the love of the code. But without major marketing horsepower, without incredibly compelling paradigms, you’ll never attain the critical mass of developer interest required to catapult your little platform out of the shadows and into the mainstream.
Getting Java on Haiku isn’t just about running Java programs. It’s about making Haiku a viable alternative for thousands of CS students, professionals, and hobbyists. Weather you like it or not, there are millions of skilled Java developers. How many skilled C++ developers know the BeAPI? How many people can use C++ & the BeAPI to write code for their day-job? How people many could code in Java for their day-job? How many do?
next, port mono and create a beWidget# library.
Well. 85% of programmers here I know are Java-programmers.. And looking at open job position I suspect that it is situation for whole programming industry here. In web-centric era lot of things is happening behind your look/scene at servers.
So, it is matter of platform-popularity around programmers, not end-users. My son was active BeOS-user, until he got programmer education and job – and for long time he had hope for BeOS Java port – as it don’t matter for Java, as you can guess, which platform to use for development. But then he dropped BeOS fully – not due lack of “end-user” apps. But just because lack of Java.
I’m one too. Java rocks.
Unfortunatly Swing’s threading forces everyone to learn threading to write a good app, but most don’t. So what users percieve as slow Java is just a messed up GUI where everything is waiting for the GUI-thread.
Luckily the Be API choose a better solution where they actually for most cases implemented this threading for you. This is done by using messaging and a worker thread for each window, in comparison to one worker-thread and incoherent calling/messaging in Swing.
Firefox/Mozilla unfortunatly uses the Swing approach which will guarantee that the GUI will never be as good as it could be.
Update:
And to put a band-aid on Java they actually added SwingWorker to the API. Personally I think they should rethink the threading completly.
Edited 2008-01-24 12:44 UTC
The real problem is that they inherited this functionality from the AWT, which Swing uses for heavy-weight components, and the event dispatch model.
The AWT was written for the lowest common denominator of OS’s, which as I’m sure you can imagine, delegates a single event pump for all Windows belonging to a process. I can only speculate as to What kIND Of WeirdoS thought that sort of messaging model was a good idea.
Edited 2008-01-24 20:11 UTC
Well, it has a lot of use if cross platform is important to a developer (without having to maintain several versions of the source/binary) and fast performance is not an issue (not saying that java is slow, but it will never be as fast as a native binary).
The point? Just because you don’t use it, does not mean that no-one uses it, and that its pointless.
First of all I am excited about this mostly for what this will mean for Java than Haiku itself. Every subsequent port should get easier and easier. One day I hope for a port optimized for the PS3!
But first two questions:
1) Why port a JDK and not just focus on the JRE first? It seems like an unecessary distraction. It’s better for end-users to get applications running then to be able to code them.
2) Why 1.4? 1.5 is such a large leap ahead that it seems like they will be missing a lot by not aiming for that. I wouldn’t support a Java 1.4 app w/o a large $$$ incentive just for the loss of Generics alone. It seems like the most sensible think would be to port Java 7 so that when the port is done it’s update and that they can contribute towards the development of Java 7 itself.
I guess you are referring to
“I’m having some great flash-back style memories of working on the JDK 1.4 port.”?
In that sentence he is talking about the Java port for BeOS, which was 1.4. There was also a video of it running on Haiku one or two years ago.
OpenJDK, and therefore the current port are, of course, Java 7.
Edited 2008-01-24 06:55 UTC
Am I the only one who find the Java versioning confusing?
No, and that’s exactly why Sun changed to a simpler naming convention for Java 5, Java 6, and the upcoming Java 7.
Java2 1.4
Java 5.0
Java 6
Confusing? What?
I really don’t know who came up with this, but thankfully from Java 6, it’s become really simple.
And here I am waiting for Java6 Update N. Confusing. Yes indeed!
1) Why port a JDK and not just focus on the JRE first? It seems like an unecessary distraction. It’s better for end-users to get applications running then to be able to code them.
Despite what SUN tells you java is not really “write once, run anywere”, it’s more like “write once, broken everywhere”. Most large java applications will still have to be ported to Haiku in some fashion. You need a JDK for this.
2) Why 1.4? 1.5 is such a large leap ahead that it seems like they will be missing a lot by not aiming for that. I wouldn’t support a Java 1.4 app w/o a large $$$ incentive just for the loss of Generics alone. It seems like the most sensible think would be to port Java 7 so that when the port is done it’s update and that they can contribute towards the development of Java 7 itself.
Can you point me to where it says they are aiming for Java 1.4. I don’t see that anywhere. As far as I read they are porting OpenJDK which is Java 7.
This hasn’t been true for quite some time now. So long as the programmer doesn’t make any stupid assumptions there’s no reason a Java application shouldn’t run on any platform for which there exists a compatible JVM.
Yes, you do need a JDK, but that JDK can be on any platform. You don’t need a Haiku JDK to write Java applications for Haiku.
Edited 2008-01-24 15:29 UTC
Well… I could make the same claim about <insert your favourite compiled language>. However, when people say “Java” they can mean one of the following:
1. Java the programming language.
2. Java the standard library.
3. Java the virtual machine.
4. Java the compiler (yes, I’ve met people who use this terminology).
Personally, Java the programming language could use a few constructs from Scheme, but that’s beside the point. Let’s assume we have programming language X that also had a huge, portable library with a GUI, supports network programming, text parsing, and the kitchen sink that assumed little about the target architecture (*ahem* http://cpan.org *ahem*). What are the portability issues left, if we look at the language itself?
– If it allows direct manipulation of bits, there’s always the endianness to consider.
– Hmm… anything else?
The compiler, whether it is targeted to a virtual machine or the actual machine, takes care of the rest.
In order to port Java the virtual machine, you don’t need to do that much. It’s not a huge program. Why do you think it takes so long to port “Java”, then? Because the standard library is not really portable: it doesn’t compile as is on an arbitrary new target platform after you’ve ported the virtual machine and the compiler (which should be all that is needed).
Coming back to the point, what you say is partially true: the *language* is portable, in the sense that as long as you don’t use the standard library, the built-in features should work on any compatible JVM. Well, almost… Ever heard of J2ME?
Considering apps written for Haiku are written for Java *Standard Edition*, there really isn’t much question about whether they will run. They will. And if you didn’t check for endianness in your program, that’s your fault, not Java’s.
@abraxas: Stop spreading FUD.
Edited 2008-01-24 18:56 UTC
you need one to write java application ON Haiku
This is not 1.4.
This is post J2SE 6, and the code that’s forming the beginning of J2SE 7.
This is not just a JDK. The JRE is just a JDK without the developer tools. The Virtual Machine, class libraries, etc. are all the same. In fact, you can’t get a JRE without the JDK. You need the java development tools to build a JRE or JDK. Funny thing is, those development tools for java are themselves written in java.
Chicken, meet Egg.
It would be fantastic if we could run Eclipse on Haiku!! For Java development, but also for C++ development as a replacement for BeIDE.
Great!
Congratulations Bryan!! Been a long time since we worked on the original port. I’m glad to see work still progressing!!!