Oracle Announces Java SE 7 204
vivin writes "Oracle has announced the release of Java SE 7. This is the first release of Java under the stewardship of Oracle."
Man is an animal that makes bargains: no other animal does this-- no dog exchanges bones with another. -- Adam Smith
lawsuit (Score:3, Insightful)
Will they sue me if I install it?
Re: (Score:3, Insightful)
Only if you change a few things around and name it after a fishing village in Iceland [wikipedia.org] to try to get out of paying royalties for mobile Java.
Re:lawsuit (Score:5, Insightful)
Dalvik is not java. One is stack on is register based, they will not use each others byte code.
Re: (Score:2, Informative)
Re: (Score:3)
It uses a language like java, but could use any other just as well. Just like bytecodes that can be translated so can the human readable code.
Are you trying to claim that the issue is that is uses a human interface (the high level language) that looks too much like java?
Re: (Score:2)
The underpinning problem with Dalvik is that its implementation follows many JVM specifications. For example:
The binary format, not the actual instructions themselves, follows very closely to Java's binary class format (I think this one is a weak argument, but it is one that Oracle is throwing.)
The method used to pre-process the binary code and package the binary so that it can be pre-processed is very similar in both. (This one is a little bit less weak because the binary headers look almost the same bet
Re: (Score:2)
The underpinning problem with Dalvik is that its implementation follows many JVM specifications. For example:
No it doesn't. They specifically break away from JVM specifications because Java's formats are slower and hinder some of both speed and memory optimizations.
The binary format, not the actual instructions themselves, follows very closely to Java's binary class format (I think this one is a weak argument, but it is one that Oracle is throwing.)
With this definition, anything is everything. Furthermore, law specifically allows for interoperability. But beyond that, there isn't any similarities worth noting as they specifically did not care to retain any interoperability. That's the first I've heard such a claim. If in fact they are making such a claim, its like saying you and I are the exact sa
Re: (Score:2)
No it doesn't. They specifically break away from JVM specifications because Java's formats are slower and hinder some of both speed and memory optimizations.
I guess the best way to present this would be if I had a patent on eating cereal (which would and should be ruled invalid but let's not get off the point here.) If my method is to grab cereal, grab bowl, grab milk, pour cereal into bowl, pour milk into bowl ... put milk up, put cereal up, grab spoon, eat, then just because your method is to leave the box of cereal out until done eating and grab the spoon while getting the bowl just to save time; doesn't mean you haven't infringe on my cereal eating idea.
Re: (Score:3)
The binary format, not the actual instructions themselves, follows very closely to Java's binary class format (I think this one is a weak argument, but it is one that Oracle is throwing.)
They're throwing it around because one of their patents is specifically for the .class file format (I don't know what could possibly be patentable there, but there goes)
They could have built on top of IcedTea and have a GPL Android platform sans the lawsuits.
They couldn't, since GPL (v2) is immaterial to Sun/Oracle's patents - it does not have any kind of patent grant.
Re: (Score:3)
Dalvik is a virtual machine that runs any language compiled into its bytecode.
Java is a language that can be compiled into multiple bytecodes (eg, JVM or LLVM).
On Android, Java is compiled to JVM bytecode (using either javac, or Eclipse's compiler) and then a Google compiler compiles JVM bytecode into Dalvik bytecode.
Many other languages that compile into JVM bytecode already run on Android. The Java language is one of many source lang
Re: (Score:2)
The SDK uses X too; does that imply Android uses X? The implementation language for the development environment is immaterial.
Re:lawsuit (Score:4, Funny)
Re: (Score:2)
Only if you build something profitable out of it and they don't get a cut. That, despite it being open source.
Open source doesn't protect you from patent trolls.
Similarly, if you build something profitable (out of anything) then you can also expect Apple and Microsoft to come knocking.
Java Facts and Figures (Score:5, Funny)
* 1 billion Java downloads each year
* 9 million developers worldwide
* #1 programming language (TIOBE Programming Community Index)
* More than 3 billion devices are powered by Java technology
They forgot one:
* #1 programming language used in judicial patent cases
Re: (Score:3)
They're counting Android in that '3 billion', of course.
Cheeky monkeys.
Re: (Score:3)
Hm, or do they? http://www.java.com/en/about/ [java.com] seems to suggest that they're not counting Android.
It's hard to believe that "31 times more Java phones ship every year than Apple and Android combined" these days. Maybe a couple of years ago?
Re: (Score:2)
so true +1
Re: (Score:2)
Looked at Clojure yet?
Project Lambda (Score:4, Insightful)
Project lambda [java.net] was arguably the most important planned addition to the JDK7, but apparently got dropped in the last few months and pushed back to JDK8. To be honest Project Coin [java.net], Fork/Join, and InvokeDynamic are useful, but not much of a big deal as Project Lambda.
Isn't this the problem? (Score:5, Funny)
You don't make a good language by smashing a bunch of "projects" together. If you do that, you end up with C++.
Re: (Score:2)
I disagree.
There are quite a few situations where the bloat of Java doesn't fit. One of those is writing operating systems and drivers. Another is writing games. Sure, there are a few games here and there (Altitude, Minecraft) written with Java; however, a significantly greater number of games are written in C++.
It's kind of like Lua vs Python. When you need a huge set of libraries built into the language's standard library, go with Python. When you don't need all that bloat, use Lua.
Re: (Score:2)
On the other hand, having people use new features for a few years "in the wild", before incorporating them into the language seems like a pretty reasonable way to do things.
Re: (Score:2)
people use new features for a few years "in the wild", before incorporating them into the language seems like a pretty reasonable way to do things.
For Java in particular, that's what C# is for. ~
Re: (Score:2)
Which C++?
Re: (Score:2)
So you should take 10 years to come up with an improved language designed from scratch?
Re: (Score:2)
I was going with "So you write an extendable language". But your way works too.
Re: (Score:2)
The thing I've always wondered is:
If you want lambdas and such, why wouldn't you just use LISP or Scheme [racket-lang.org] instead of trying to hack it into a C-syntax family language.
Not only that, but tacking lambdas on to Java is going to be some crazy reuse of syntax instead of having a well-designed syntax for it.
So then, you're neither here nor there. Neither do you have a powerful, but possibly tricky language, nor do you have a dead simple language for programming corporate CRUD apps.
Re: (Score:2)
If you want lambdas and such, why wouldn't you just use LISP or Scheme instead of trying to hack it into a C-syntax family language.
Because those languages have different features than a language like Java -- the biggest being that they are not statically typed. It's a useful enough feature that hacking it into the language is worth it.
Also, there's tons of Java code and programmers already in place, and people don't want to abandon it all just to gain a new feature.
Re: (Score:2)
Because the main competing C-derived language to Java (C#), which is also the key systems language for the main competing managed framework to the JVM (.NET) already has "lambdas and such", while still having the rest of syntax more accessible than Lisp-family languages to the vast number of developers that have strong backgrounds in C-derived languages but le
Re: (Score:3)
Because you already have a large code base in Java, that you intend to develop further, and would like the language to provide better features as you go on?
Because you want to use the existing wealth of Java libraries and frameworks?
Because you have a lot of people who already know Java, and for whom learning lambdas will be much easier than re-learning everything from scratch?
Re: (Score:2)
Speaking of lambdas, Project Lambda folks are doing polls on syntax right now, and asked to spread the word. There will be a series of simple polls to gauge relative preferences; this [surveymonkey.com] is the first one - go and vote!
Re: (Score:2)
It's been gone for a while from the JDK 7, which simply got split between 7 and 8. And with good reason, it was just taking too much time, and Java is not the language people should screw up.
I'm not waiting that hard for Lambda, in my opinion it's a language feature that really requires a lot from the platform, is very strong but not very good for maintenance. I can already see it being used for interfaces and I can already see my less apt collegues making a mess of it. Heck, even I think it is a helluva st
Re: (Score:2)
Interesting, did you file that as a suggestion to the java community process?
Version 6 Update 26 the last of Version 6? (Score:2)
I currently have Version 6 Update 26 installed on all my home computers. Will that be the final release of the version 6 branch? I hate using x.0 releases until they work out any kinks or bugs, but I have also been bitten by having an old Java version installed (it is the only vector that has successfully installed malware on my computers).
For another year (Score:2, Informative)
http://www.oracle.com/technetwork/java/eol-135779.html [oracle.com]
Java 6 will be updated through July 2012
(After which it will still be updated, but on a paid-only basis.)
Actually, probably longer if you have a proprietary Unix OS such as Mac OS X, AIX or HP-UX where the OS vendor ships patches. The OS vendors usually find it easier to just issue patches for the old version rather than adding support for a new one.
Re: (Score:3, Interesting)
And we have applications that REQUIRE specific java versions. I wish i could uninstall all the previous versions.
Right now i have:
1.4.2.11
1.6.010
1.6.17
1.6.26
Re:Version 6 Update 26 the last of Version 6? (Score:5, Interesting)
Find the developers and beat the ever living shit out of them. How you can fail at Java that hard I will never understand.
Re: (Score:2)
Java is actually not particularly well designed from versioning point of view. For example, if a new release of Java adds a new method in some class, and you inherit from that class in your code and had a method with the same name and signature, your method now becomes an unintentional override.
Re: (Score:2)
Find the developers and beat the ever living shit out of them. How you can fail at Java that hard I will never understand.
That's some interesting pay and benefits you're offering for your support developer team. Where do I sign up?
No seriously, I could do with a multi-million dollar law suit and an early retirement. I should be able to make a deal with a lawyer where we both get rich.
Re:Version 6 Update 26 the last of Version 6? (Score:5, Interesting)
Therefore, we can only recommend 6u17 as the stable version of the software, because 6u18+ isn't. I would strongly prefer that you not "beat the ever living shit out of me" for Oracle not being able to create a stable JVM for an enterprise product.
We'd get an Oracle support agreement to get these problems resolved, but you wouldn't BELIEVE how much money they want for such support. And even if we did pay Oracle a BOATLOAD of money, there's no guarantee that they'd even fix our issues--just that they would listen. on busy production systems, causes a complete crash, usually 1+ times a day.
Java7 doesn't appear to be much better for stability. I just got this email today:
Hello Apache Lucene & Apache Solr users, Hello users of other Java-based Apache projects,
Oracle released Java 7 today. Unfortunately it contains hotspot compiler optimizations, which miscompile some loops. This can affect code of several Apache projects. Sometimes JVMs only crash, but in several cases, results calculated can be incorrect, leading to bugs in applications (see Hotspot bugs 7070134 [1], 7044738 [2], 7068051 [3]).
Re:Version 6 Update 26 the last of Version 6? (Score:4, Informative)
According to this page [oracle.com], you've got until July, 2012 before they stop supporting 1.6. When 1.6 was released, they continued to release fixes for 1.5, so I would assume they'll do the same for the 1.6 to 1.7 transition.
Oracle Malware Installer V1.7.0 (Score:2)
Not to take this thread off course a little, but malware is the #1 reason we're stripping Java off of our systems this year.
From what I can tell, Java 1.7 is no different then 1.6 when it comes to updating. It still doesn't have an option to automatically install updates without prompting. And since nobody ever clicks on the taskbar icon to update Java and are usually 2-5 updates behind, Malware authors have a field day infecting systems with Java left and right.
If they need Java they can install it.
Re: (Score:2)
Can't you push updates to the machines using centralized administration tools? (I assume you're not using Linux, or else you wouldn't need Sun's updater).
Re: (Score:2)
Yahoo Toolbar - Go away please (Score:5, Interesting)
Dear Oracle,
Please turn off the default installation of the Yahoo Toolbar. I don't know why you have it checked on, but I am happy to decide for MYSELF what I Want to install on my machine.
Re:Yahoo Toolbar - Go away please (Score:5, Funny)
Dear landoltjp,
We will not as we make a lot of money from that bundling. We don't care what you want, try to remember that ORACLE is an acronym for One Rich Asshole Called Larry Ellison.
Did you ever imagine? (Score:4, Insightful)
There would be someone out there that would make Bill Gates seem like a nice guy.
Re: (Score:2)
I'm no M$ fanboi, but Bill Gates did give away most of his fortune and is trying to cure malaria and what not. Even if his business practices were a bit scummy that's gotta earn him some nice guy points! Larry Ellison would be more likely to use his fortune to invest in a pharmaceutical company that makes malaria medicine and then start a bunch of mosquito farms ...
Gave away most of his fortune? What? In 2010 he was the richest man in the world, for the 17th straight year!. So far in 2011, he's only the 2nd richest, coming in behind Carlos Silm. While I applaud and encourage his philanthropy, let's not get carried away. I once read that if you start from a point in time back in 1975 (when MS was founded), on average he's been making $300/second ever since. This means that if he sees a $1000 bill lying on the floor, it's not worth his time to pick it up!
Having said tha
Re: (Score:2)
They would make far less money that way...
Re: (Score:2)
We can't have that, now, can we.
Ubuntu (Score:2)
If someone has installed this on Ubuntu, could you post your experiences? Also, anything in the repos yet?
apt-get command lines, please.
Re:Ubuntu (Score:5, Informative)
Funny enough, I just set up an Ubuntu box and decided to grab JDK 7 without knowing that today would be the day it was "released". As such, I downloaded it directly from Oracle/Sun/Java/Whatever. [java.net].
Note, I then installed Eclipse Indigo, which was having some problems with some of the plugins. I added the following line to the eclipse.ini file and the problems went away:
-Djava.util.Arrays.useLegacyMergeSort=true
Everything's working fine now.
Re: (Score:2)
Note, I then installed Eclipse Indigo, which was having some problems with some of the plugins. I added the following line to the eclipse.ini file and the problems went away:
-Djava.util.Arrays.useLegacyMergeSort=true
Damn that's scary. If it breaks Eclipse what else does it break?
Re:Ubuntu (Score:4, Interesting)
See the incompatibilities list [oracle.com]
Before, these situations were silently ignored, now an IllegalArgumentException is thrown, unless you use the option to use the legacy sorting algo.
Re: (Score:3)
It breaks things that improperly implement the Comparable interface then try to sort objects that implement that interface.
*sigh* ... I've seen more invalid implementations of Comparable than valid ones.
However, the reason for the change is that there's a new implementation of the default merge sort that is much faster for partially sorted input and small collections so if we get over the adoption phase it will speed up a lot of legacy code.
Re: (Score:2)
Be warned that the Java 7 BETA plugins are just that, I've seen it create invalid byte code, something I haven't seen for a while. I'll be filing a bug report on monday (forgot to mail it to my home). It's good enough to test the Java features though, and it even packs some Java 7 refactoring (on e.g. the multi-catch statement).
Re: (Score:2)
You can add the custom PPA and see if it's out there yet:
sudo add-apt-repository ppa:ferramroberto/java
sudo apt-get update
apt-cache search sun-java7-jre
If it's there, then do this:
sudo apt-get install sun-java7-jre sun-java7-plugin sun-java7-fonts
invokedynamic benchmarks? (Score:3)
Re: (Score:2)
I'm curious how much of an impact the new 'invokedynamic' has - specifically on Ruby and Python - any good performance analysis out there?
Well, according to a comment on HN [ycombinator.com]:
Re: (Score:2)
Initially the performance impact will be none since the languages need to actually use the construct and then optimize it before it becomes a factor. But if I understood correctly during the Java 7 launch I visited in Utrecht, NLD, it will be a lot easier and probably quite a bit faster for the dynamic languages out there. But don't take my word for it, the slides of the launch should be easy to find and they contain a whole section on the subject.
If anyone's interested in what's new in Java 7 (Score:3)
This page has all the details: http://www.oracle.com/technetwork/java/javase/jdk7-relnotes-418459.html [oracle.com]
Some of the changes (Score:3)
Re: (Score:2)
It's called "using" in C#, IDisposable is the name of the corresponding interface.
It's too bad that they had to come up with a new interface for this, though. Closeable was already there, but it was in java.io, and they needed something in java.lang. Well, at least they support types which already implement Closeable.
List of features in Java 7 (Score:5, Informative)
Oracle has a detailed list [oracle.com] of the additions in Java 7. OpenJDK has relatively the same information [java.net] listed in a different way.
While it took forever to get JDK7 out the door, it's finally out and they can work toward JDK8, which is currently scheduled for release a year from now. The Oracle takeover is said and done and they are able to keep pushing new features into the language now. For all of us that use Java daily, this is a nice change.
I recommend looking over the feature list if you are a java dev. There are some really nice changes to make your day-to-day code just a little easier.
Re: (Score:2)
Groovy... [codehaus.org]
All politics aside (Score:2)
Going through the release notes, there really are a ton of neat and cool features going into the language. I hope that Eclipse will be ready for me to start playing around with some of the ones that are more IDE centric are supported!
Mac Version? (Score:2)
Didn't oracle say they were taking over releases of Java on the mac?
All you people who hate Oracle... (Score:3)
... are Johnny-come-latelies. My company got sued by Oracle in 1984.
Dear Oracle, (Score:3)
Lose the Yahoo toolbar installation on your installer. It's unprofessional and it makes you look desperate. It makes you look like you're selling screen savers or clipart. In the 90's. So stop it.
so... (Score:2)
ECC crypto (Score:2)
It's in a jar, and this seems to work at slightly under 200 signs/second:
final ECGenParameterSpec spec = new ECGenParameterSpec("secp521r1");
final KeyPairGenerator gen = KeyPairGenerator.getInstance("EC");
gen.initialize(spec);
Re: (Score:3)
Re: (Score:3)
And the majority of the software folk go "we need a language that's not stewarded by Beelzebub himself"
Will these be the same developers using Visual Studio?
Re: (Score:2)
Well, being under new ownership one might expect things to get better (or worse). I don't know, just a possibility. A lot of people have this software on their laptops and desktops so it might be significant.
Re:Annnnd? (Score:5, Funny)
What are the alternatives? (Score:4, Interesting)
"Superior lightweight alternatives are being embraced except for those companies with time and money to burn."
Please list them with pros and cons.
BTW, Java was a stupid idea (VisualWorks Smalltalk was better then and might still be), but after fifteen years or so of suffering, there is a lot of good stuff about the Java platform IMHO, both code libraries and including the use of the JVM for other languages. Android is based around a version of Java. Everything has its problems. Java could use a lot more attention on the desktop, and I prefer a message passing model over a function calling model myself. Too bad Java has not been free-as-in-freedom from the start or it would have gone much further.
Anyway, I'd be curious what you thought the alternatives were.
Re: (Score:3)
Re: (Score:2)
Such as what other superior lightweight alternatives?
Re: (Score:2)
Re: (Score:2)
Re: (Score:3)
Re: (Score:2)
So is anyone still using java?
Actually, a better question might be: Is anyone starting anything new in java? I suppose there's lots of legacy java code that people are stuck with, at least until they can get around to rewriting it. And I've known a few organizations that are pretty much married to the language.
But I can't really imagine starting a new project in java these days, not until we have legally-binding assurances that using the language doesn't mean risking that we'll be sued into bankrupt
Re: (Score:2)
You do know that Javascript has nothing to do with Java, right?
Re: (Score:3)
Re: (Score:2, Interesting)
Not quite AMD started with an intel design. When Intel couldnt make enough 386 chips they got AMD to do help them (and a bunch others). That meant 'here are the plans to make it'.
Re: (Score:2)
Re: (Score:2)
They might be using a different micro-architecture but it's still x86 compatible.
Re:Google must be watching... (Score:4, Informative)
Not quite AMD started with an intel design. When Intel couldnt make enough 386 chips they got AMD to do help them (and a bunch others). That meant 'here are the plans to make it'.
Wrong. If 8086 chips were going to be put in the PC, IBM required that Intel have a second source manufacturer for the parts. So Intel contracted with AMD to also crank out the chips.
Intel tried to cancel this arrangement when the 80386 was introduced, and a long legal battle followed. In the mean time, AMD started a clean room design of a 386 clone. AMD has had their own distinct designs since then, and I'm sure that there's just about nothing from pre-386 chip internals that is in any way relevant to current CPU designs.
Somewhere along the line, the two companies also did a patent cross-licensing agreement, which allows them to freely copy each other's concepts.
Re: (Score:2)
I think you may need to review the definition of "clean room design". I assumed that the GP was talking about Google reviewing the JSRs related to Java 7 and not the actual source code of OpenJDK 7.
Re: (Score:2)
will weave any [new] developments in this release into Dalvik as well
Can you tell us which valid patents (or at least likely valid; and no I don't mean granted patents) Dalvik is infringing which is part of the JVM?
Originally Oracle claimed copyright and patent violations. From what I read, all of the copyright crap has proven to be just that - crap. And of the supposed 236 patents which Dalvik violated, over 220 are patents which should have never been granted by the USPO. So on and so on; leaving only about three of any serious point of contention. So honestly, which actua
Re: (Score:2)
Re: (Score:2)
Actually I didn't fall into the trap. I'm normally the voice of reason of saying exactly what you're saying while being troll moderated to hell. I decided I'd try something different and try to see if he was joking or not and if not, to determine which, if any patents people believe actually have any merit. I mean, are you not a little curious to read about these so called few patents which, according to some, may actually have at least some debatable merit? I know I am.
Regardless, at this point I'm convinc
Re: (Score:2)
Some of the ones still outstanding:
#5,966,702
#6,910,205
#7,426,720
Not saying they are valid just answering your question. There are a couple of more and I even think that Oracle was ordered to reduce the claims down to three distinct violations, of which, I am not sure if any of these were cited.
However, Google is in a sort of hot mess right now because all of the patents have to be proven invalid, a recent review of Google employee's email show that they were indeed worried about the legal ramifications of
Re: (Score:2)
Thank you. With Oracle's claims, its probably best to start saying, "patents", and/or, "valid". Making sure they are always wrapped with quotes.
Re: (Score:2)
Very valid statement. Some of Oracle's "patents" are of questionable "validity."
Re: (Score:3)
Yes it did, JSR 292 added the InvokeDynamic instruction to the bytecode.
Re: (Score:3)
Well many in my circle have noted that an immediate roll out of Java7 is not warranted at this time, in fact discouraged. The update 26 of 6 is good enough for most customers now and Java7 should be used in small installations and test beds.
Not dissing what you have here, VMWare support is a biggie in my book, but this is the x.0 release. Maybe we should give Oracle the benefit of the doubt (OMG I'm really saying this?) and wait for them to provide the support later.
Re: (Score:2)
I actually went and read the blog post, and it has the following comment now:
Hi – The supported platforms page was mistakenly created using a standard Oracle template which is not applicable to Java. It will be updated to clarify that we support Java explicitly on certified platforms (eg those called out in the page) and on other platforms as long as we don’t run in to platform specific issues. In that case (eg, if VMware is broken) you will have to go to the platform vendor for troubleshooting and a fix.
Henrik Stahl
Sr. Director, Product Management
Java Platform Group
Oracle
so relax.
Re: (Score:2)
I had to check, but Perl 6 is still not released.
Now I'm just afraid they decide to release it at december 2012.
Re: (Score:2)
switch from using Java as a teaching language to something like Python
I think it helps very much to have a statically typed language instead of a dynamically typed language used in teaching (regardless of Python vs. Java). Much better feedback for the student in figuring out why things work and don't work, enforcing designs, and lots more than I won't bother to enumerate.
For everything that Java does, there is a better alternative under a more functional language.
Care to back that up?