Google Backs Out of JavaOne
snydeq writes "Citing concerns about Oracle's lawsuit against it, Google has backed out of the upcoming JavaOne conference. 'Oracle's recent lawsuit against Google and open source has made it impossible for us to freely share our thoughts about the future of Java and open source generally,' Google's Joshua Bloch said in a blog post. The move may signal eventual fragmentation for Java, with Google conceivably splintering off the Java-like language it uses for Android."
Looks like we're seeing a new loss of confidence in Java, much like the loss of confidence in mono, for which patent concerns stunted its uptake.
So where to next?
And where is my replacement for open office?
Java's death means .NET and Windows in the server arena. Do you really want that?
Java is the defacto standard for most server apps these days as portals are replacing terminals and Java is used for industrial websites as well. This is truly horrible and no php or perl can not just replace it for mission critical servers. It is not hte language but the 200,000 methods and api's to choose from. Only .NET comes close ... not Mono.
http://saveie6.com/
Except that Android doesn't run Java classes - it runs dalvik classes. It's like you taking a .doc file and converting it to pdf so that people don't need the Evil Word.
Java's dying anyway. It's a lot slower than dalvik, and Java simply hasn't lived up to its "write once run anywhere" claims. Just like it hasn't lived up to earlier promises to "reinvent the desktop", or before that, to "change the way we use the Internet with applets - remember them - to add interactivity.
What are they going to do when dalvik is extended to run on regular servers, and all those Java support contracts dry up? Just like is happening right now in the mobile space with the multi-fragmented JavaME?. Pretty bad when your core market tells you that the competition already raided your fridge, ate your breakfast and lunch, and took a dump on your supper.
Sun open sourced Java, and you can easily fork it. You can't call it Java unless it still implements the specification correctly, but the license that Sun released the code under means that you are safe from patent problems.
Google's problem is that they did not fork Java, they reimplemented it. This means that they have no copyright problems and do not have to abide by the Java license (GPL + runtime exemption), but they do have potential patent problems. Sun / Oracle has a patent grant that permits the use of their Java-related patents in any complete implementation of the Java spec. Android, however, is not a complete Java implementation. It implements the core language and a number of the java.* classes, but it does not provide the entire java.* class hierarchy. This means that it is not covered by the patent grant.
In summary, open source Java is fine, open source almost-Java is not.
I am TheRaven on Soylent News
The similarity of android's dev language with Java is only superficial
You mean, aside from the fact that they are exactly the same language and both provide a large number of the same classes in the java.* namespace, they are completely different?
I am TheRaven on Soylent News
It's still huge in Big Business, where COBOL also remains alive and well.
.NET.
From what I've seen, it's still largely popular as a web application language for the server-side. Usually an alternative to
> In summary, open source Java is fine, open source almost-Java is not.
Where is the difference? Isn't that legal newspeak of corporate lawyers... and why we have a free software movement? I can't see how this sentence makes any sense to an open source developer.
Dream on if yo believe that the JIT is competitive. Even if it were able to pre-compile everything to native methods, you still lack some of the essential programming models that people have been using for decades to make things go faster.
I wasn't asking for proof that native code will be faster than Java, I was asking for proof of your original statement that that Java (I assume you meant the JVM) is a lot slower than Dalvik.
But yes, you're right, there's a hell of a lot of stuff that Java (be it running on a JVM or Dalvik) just won't do well, and anybody wanting to write truly high performance software had really better get used to writing in lower-level languages, or at the very least, understanding their stack right down to the hardware level.
you can't even consider using some algorithms that c programmers use all the time
Like buffer overruns.
-=Maggie Leber=-
... anybody wanting to write truly high performance software had really better get used to writing in lower-level languages, or at the very least, understanding their stack right down to the hardware level.
This has always been the case.
"You want to know how to help your kids? Leave them the fuck alone." -George Carlin
Do you have a bank account?
Most likely the back office operations are using Java in one way or another.
That is just for starters.
People saying that Java is dead and then refer to what is happening on their home computer simply show a degree og ignorance that is short of embarrasing.
IANAL but write like a drunk one.
So wouldn't Google's best option be for them to just implement the missing classes?
Ah yes, C is good for domain-specific solutions but it doesn't adequately address the issue of multiple inheritance out of the box. (reference)
Having a good reputation among the slashdot crowd may be more important than you think. Oracle's name is quickly becoming mud in the minds of of a lot of developers, and while in the short term that may mean little to them, it will probably bite them in the ass down the road. Developers may not make purchasing decisions for the kinds of large companies that purchase Oracle's products, but they make do make technical ones, and they also advise the people who make those purchasing decisions.
Having a good reputation among the slashdot crowd may be more important than you think. Oracle's name is quickly becoming mud in the minds of of a lot of developers, and while in the short term that may mean little to them, it will probably bite them in the ass down the road.
Developers dont make decisions about the use of Oracle's money stream products, of which Java is not among them.
Its the IT guys that make those decisions, and they pick Oracle because Oracles solutions are some of the best in the business. Oracle's revenue stream is in the same league as Google, Microsoft, Apple, IBM, Cisco, etc.. not a household name like some of them, but their revenue stream is testimonial to the quality of their products and the loyalty of those who do make purchasing decisions relevant to Oracle.
Oracle did not buy Sun for Java. Java was just a bonus. Sun was a direct competitor with some unique IP in the storage solutions space that Oracle was and will continue to be the #1 player in. You see Sun Server prominent on that products/services page, while Java is relegated to only footnote status in the "Related Technologies" section.
Java is a fine language for what its primarily used for, and Oracle certainly uses a lot of Java code, but they barely marketing Java itself. They couldn't give a rats ass as to what developers feel about Java. They sell solutions, not platforms.
"His name was James Damore."
Am I missing some great strategic outcome Oracle is hoping for?
Yes, they need Google patents for their database product to not become obsolete in the next few years. Buying Sun got them two things - a) hardware fast enough to get them over the gap b) leverage for patent cross-licensing agreements.
This is a [software] patent (government) problem.
My God, it's Full of Source!
OUTSIDE_IP=$(dig +short my.ip @outsideip.net)
It's not that hard - just do like your mother taught you - put things back when you're finished with them.
Two things. First it is hard. It takes an almost anal level of attention to detail especially in a multi-threaded environment. That's something woefully missing in your run of the mill programmer. Second, the bugs introduced can be EXTREMELY subtle and VERY difficult to find especially in a multi-threaded environment.
Anecdote: I was working on a multi-threaded realtime system that involved message queues between objects interacting with hardware. The queuing system was developed by someone else and had gone through extensive testing. I was tasked with adding network communications to the messaging system. With the network communications module added it was core dumping at random times and places generally after days of running. I spent over a month trying to find the problem in my code. All the while, the people who had developed the messaging system insisted the problem couldn't be there and showed me the months of tests result on the messaging system. After over a month, including line by line review of my code, I started looking over the messaging system code I found one place where they were releasing a mutex then freeing some memory. 2 lines of code that were reversed amongst 1000's of lines of code. Their testing didn't reveal it because on their test runs there was almost no random variance in the execution. Everything responded at fixed intervals and the pattern never including something getting a pointer to that memory after the mutex was released and before it was freed. The network communications added randomness which disrupted the pattern and this happened periodically.
Who is John Galt?
Two enormous differences with the Sun/Microsoft case: 1-- Everything Google built for Android is open-sourced; 2-- No Java license is involved
Google built a VM called Dalvik. Like the Java and .Net VM's, it can run code written in a number of languages, including the Java language. That patents at issue are not related specifically to the Java language, but they do cover common techniques in VM implementation, and if upheld could threaten other VM implementations.
Yeah, but Google has no plans to do anything of the sort, and Oracle is still suing.
Oracle's beef seems to be that Android doesn't come with Java but happens to infringe on some Java patents. Why the fuck they don't rectify the problem themselves by releasing a version of Java for Android is anyone's guess. Maybe they're just assholes.
You are not alone. This is not normal. None of this is normal.
Parent is basically correct. However, pedantically, Dalvik does not, in general, run programs written in the Java language. The language is defined not just by its syntax, but also by a certain set of standard libraries being present and implemented according to Sun/Oracle specification. Dalvik doesn't support all of those, and hence doesn't run Java.
However, Dalvik does run a very Java-like language. One that has all the syntax of Java, and *many* of the same libraries. Moreover (as everyone here knows, I'm sure), programs compiled by 'javac' to .class file may be converted to Dalvik executables (as long as they contain only the subset of Java that Dalvik supports).
It would be proper to prevent Google from claiming that Android "Runs Java"... but then, I'm pretty sure they never claimed that to start with. Indeed mostly--almost entirely--it's claims about patents that should never have been granted, or really just about lawsuits to try to mess up competition and technical progress just for the sake of disruption (I doubt Oracle actually cares that much about the outcome, it's mostly FUD).
Buy Text Processing in Python
Sun open sourced Java, and you can easily fork it. You can't call it Java unless it still implements the specification correctly, but the license that Sun released the code under means that you are safe from patent problems.
No, you are only safe from patent problems if Oracle determines that your implementation is fully compatible.
Google's problem is that they did not fork Java, they reimplemented it.
Google didn't reimplement the Java platform, they implemented their own platform and used the Java language. Oracle has no patents on the Java language. And the patents they do have, they could have sued over no matter what virtual machine Google had implemented.
In summary, open source Java is fine, open source almost-Java is not.
There is no "open source Java"; open source principles require the ability to make incompatible forks, and as you correctly pointed out, Oracle doesn't allow that and has the patents to enforce their will.