Fatal Exception’s Neil McAllister writes about what could be the end of the Java Community Process as we know it. With the Apache Software Foundation declaring war on Oracle over Java, the next likely step would be a vote of no confidence in the JCP, which, if the ASF can convince enough members to follow suit, “could effectively unravel the Java community as a whole”, McAllister writes, with educators, academics, and researchers having little incentive to remain loyal to an Oracle-controlled platform. “Independent developers could face the toughest decisions of all. Even if the JCP dissolves, many developers will be left with few alternatives”, with .Net offering little advantage, and Perl, Python, and Ruby unable to match Java’s performance. The dark horse? Google Go – a language Google might just fast-track in light of its patent suit with Oracle over Android.
Yes, the Go language is one of them, but there are others. What about D? It has the speed of C and the power and simplicity of Python or Ruby. There are even public domain OSs written in D –
https://github.com/xomboverlord/xomb-bare-bones
https://github.com/wilkie/djehuty
Then there is Haskell, the elegance and power of which is gaining many more followers.
I won’t be shedding any tears over Java going downhill.
It was poorly designed and poorly-performing from the start.
The news in itself I think does not say that will not destroy Java as it is. JCP is just a small part. Even resilient to die products (COBOL or Fortran) were replaced at one degree to more mainstream languages, it does not mean that a missing standardization process will do break Java apart.
Also, I really think that Go is not a replacement for Java. Go is a different paradigm. I never heard a game written with it, or a browser of that matter. The part that I really think that Go will replace, will be on lightweight servers. Go also have no tooling to replace Java on rich client and enterprise. Language wise, is also a different beast. So about Go, I think it has a long way to go
Agreed – Go, from what I’ve seen, is much closer to the C/C++ family, albeit modernised with features like co-routines and concurrency. It’s a very different beast from something like Java or C#…
Yeah, me neither. For whatever benefits it has for the developers, it sucks for end users. It sucks on the desktop… people say it’s possible to write fast Java apps with a native look and feel, but considering how few developers have managed to pull it off, I figure it must be harder than it needs to be.
I don’t know much about it on the server, except that where I work, I’m constantly having to restart Java server apps (that I did not write) for out of memory errors, processes getting stuck, manhandling system resources, etc.
I’ve been a Linux user since the mid-90’s. I’ve watched Java go from a closed-source project to an open one, and now, apparently, partially headed back to closed. I think we will see Java stick around for the Enterprise world, which has mega-bucks invested in fat J2EE apps. But the “buzz” in the rest of the market is cooling quickly. A language loses it mindshare first, then the rest slowly follows. Unless Oracle has a major change of heart (hah!), it’s on it’s way out.
Write once, run anywhere, put on the shelf.
They are fine using Java for everything internal to them. They’ve been using it for years in wierd places at first and then all over.
I’m sure they’ll shrug it off just like water off a ducks back and then make it “better” now that those stupid OpenSource EJEETS are gone.
Talking about drama queens, even if JCP dissolves is not the end of Java by any means, I dind’t even know the ASF had anything to do with it, if it leaves I’m sure very few will miss it.
It really brings nothing to the table to replace something like Java.
So we shall throw away years of experience, and already running code, only because Java is no longer open source enough?
Java has its own issues (old and clumsy language), but there already tons of mature libraries and frameworks written for the Java platform, and they are not going away in a day.
For example, I’m a heavy .Net guy, but even then I reuse many existing codes through Java/IKVM. Heck, I know people are still coding in FORTRAN.
The only thing that might be said is using less Java on the desktop, but it already is non existent there anyways.
is there anything wrong with old? C++ still does a good job, as does Ada. Whatever language is hip in 30 years will probably live a longer life than Java, I mean if the “build upon the past” principle applies of course.
Also, I don’t understand how clumsy Java is… do you refer to the verbosity of its syntax? If so, from my point of view, Java is cleaner than C++ without a doubt.
I don’t know; have you ever heard of an old, clumsy language called C? I hear some people still use it now and then.
Did you read what I said in the entire text, or did you just hit reply as soon as you saw “old and clumsy language”?
If we’re already off-topic: the comparison was between Java and modern alternatives (e.g.: scala, c#, f#, groovy, etc).
But I still believe there is a need for Java, and that was the main idea of the post. If it was not clear, or my minor remark on the state of the language was actually not so minor, I’m sorry…
As long as there are JEE containers available, the JEE web solutions are here to stay. Java Web stack is pretty steep and powerful and the codefactories continue to push out java-based web solutions. Nobody cares if java is open or not as long as it produces income to finance the business.
Maybe but it doesn’t mean people shouldn’t care. Tomcat is huge in JEE even if it’s not necessarily the production container. JBoss and Glassfish are Tomcat-based/-derived and all developers I’ve ever met (granted they aren’t that many of them and I’m probably not “typical” enough for drawing statistical conclusions) used Tomcat. And Apache is even bigger! Of course, the ASF won’t stop producing Java code but there’s been a clear trend since Oracle owns Java that should make people care even though a sustained flow of money is flooding in.
As I said in another comment, when Eclipse and Apache people talk about JEE, I do listen. Even Oracle should care.
Well, I’ve been researching various fields for a few months now, in order to build an open desktop software platform for things related to music score editing. I had already made my mind about several architectural choices. Java is the language I chose despite it being already almost non-existent on the desktop: the only Java application I ever used as a desktop user is Limewire. All the rest is professional (Eclipse and other IDEs, Jetty, Tomcat, and all the Apache libs – Commons first- and tools like Maven).
Non-existent on the desktop but with very nice functionalities/features/possibilities like SWT or OSGi (the only problem I still have is to decide whether to choose Eclipse Equinox or Apache Felix as osgi platform).
I can only get confused when I read that the Eclipse Foundation and ASF are both worried. These are two big players as none of my work days in the past years has gone by without involving something produced by or related to them (unfortunately, this includes the excruciating Lotus Notes… that’s the magic of open source). Even individual big names like Stephen Colebourne seem wary of Oracle’s moves. I knew I knew this guy’s name, probably saw it in some javadoc, but I had to do some googling to realize why his name sounded familiar.
I’m wondering if I should also start worrying and investigate Qt+C++. Should developers start worrying?
Oracle bought Sun “because of” Java, Ellison had already said Java is the biggest asset. People should have listened to the statement with a businessman’s ears. Then, the “premium Java for enterprise customers” would have come as no surprise. Whatever features that premium version contains, I guess there’ll be some language syntax changes to accommodate those features. Then what becomes of the “write once, run everywhere” motto? Ironically, the same people are suing Google for (what I interpret as) making that very motto stale…
Edited 2010-11-12 10:30 UTC
Nobody is going to give up existing code and well tested libraries in favor of Go.
If there was a good LLVM front end to Java, could other LLVM based languages make use of the existing libraries?
Python is going LLVM based (Google’s unladen swallow).
Before I’ll touch Google Go the following needs to happen.
1) Name change. The word “go” is a pain in the ass to search for. It’d be like getting coffee results while searching for Java help except 2**2048 times more likely.
2) Decent bindings for
2.1) Qt
2.2) Cuda / OpenCL
3) Good interfaces to
3.1) C / C++ / Fortran
3.2) Java
3.3) Python
Reasons why I’ll probably stick to Python…
1) Django
2) Matplotlib
3) web.py
Loving Numpy, multiprocessing and all the great pyCuda and alike libs as well
Heh.