Java 7: What's In It For Developers
GMGruman writes "After five years of a torturous political process and now under the new ownership of Oracle, Java SE 7 is finally out (and its initial bugs patched in the Update 1 release). So what does it actually offer? Paul Krill surveys the new capabilities that matter most for Java developers, from dynamic language support to an improved file system."
Oracle can't kill Java fast enough. Once it's dead we can go back to having actual competent people writing code rather than Java weenies who couldn't code themselves out of a paper sack without a VM to hold their hand.
WTF?
Warning: this article may contain humor, sarcasm, parody, and perhaps even irony. Read at your own risk.
is think about you.
you made my soul a burning fire
you're getting to be my JavaOne desire
you're getting to be all that matters to me
A: Not much that is interesting given the number of comments?
But not soon enough. FTFA...
Project Coin's diamond syntax for constructor calls lets the compiler infer type arguments, and the try-with-resources statement helps the compiler make reliable code by automatically closing files, sockets, and database connections when developers forget to do this, Ratcliff says: "That's something that's been tripping up developers -- especially young developers -- for years. That'll be a good productivity improvement and will reduce bugs."
I mean if that doesn't say it all I don't know what does. Hmm Allocate a resource, Free a resource. I think they still teach that in CS-101, then again maybe not. I alloc() therefor I free() ?".
Hey KID! Yeah you, get the fuck off my lawn!
Java is great. The new release proves that Sun lives on inside Oracle.
The new version is a little faster from what I can tell especially file IO as a few have stated. It did even matter that much people just wanted to see that Java was still alive and it is.
Does this mean Java got any faster or a better UI toolkit?
Along with promoting an easier multithread API the artical also contain the paragraph:
Project Coin's diamond syntax for constructor calls lets the compiler infer type arguments, and the try-with-resources statement helps the compiler make reliable code by automatically closing files, sockets, and database connections when developers forget to do this, Ratcliff says: "That's something that's been tripping up developers -- especially young developers -- for years. That'll be a good productivity improvement and will reduce bugs."
This is almost like programming language lock in, once you have programed in Java for a few months you are incapable of writing functional C++ code and if you lean to program in java you have no idea why your non java programs fail.
...please don't let all these fancy tech buzzwords stop Minecraft from working.
Ah yes. The old "blame the language for the lack of a developer's skills" ploy. It's a sad carpenter who blames his tools for his incompetence. It's a sadder carpenter who blames a tool for other carpenters' incompetence.
You tell'em AC!
I once wrote an operating system in COBOL that was interpreted by Apple Basic. It was slick, man! The Apple ][ would boot up with its prom BASIC interpreter which would load the COBOL interpreter which would then load the OS that was written in COBOL! Man, it was AWESOME! (It is still starting up 'Hello World' which I started in 1984 butt ROCKS!) It PROVED with out a doubt that I was God's gift to CS AND Programming! Jim Gosling has an alter set up to me - he'll deny it, but he does! He prays to me on a daily basis as HIS personal God. I inspired him to write Java. Although, he couldn't achieve my Godliness, he tried with Java.
He is a disappoint, though - he never measured up to Stroustrup. Although, Stroustrup is a disappoint with his bastard child, C++0X or whatever the fuck he calls his demon spawned shit.
I will have to smite him with my COBOLx00xx0xxABCDx0 object oriented parallel quantum multidimensional language for light quantum parallel programming.
I have said and will say, COBOL is the future of CS!
How compatible is Java 7 with Java 6? Can I run the Andriod emulators? Is it more secure than java 6? I would like to use Chrome but it always runs Java by default and I got owned a month ago from this exploit. I hate using IE as it is the only browser I can disable Java from
http://saveie6.com/
It's heading for the tank, then it's headed for the bottom. MSFT !! Move Over !! AAPL Is Coming Down !!
Three Days of the Condor !! Oh, wait, Three Days of the Candor !!
Well going by previous statements by Larry Ellison and Oracles actions in regards to Red Hat Linux. They'll wait until your stuff is popular and then just take it and start charging support fees for your stuff.
"If an open source product gets good enough, we'll simply take it" link
A bag of hurt.
People, People, calm down, put a lid on it.
Look at yourselves... having a big jolly party. There are already so many fantastic features in Java--we're jaded in our big happy family. So many open-source offerings court the Java developer, we forget that we could be going back to Ol' Mamma Redmond night after night. Horrors!
Look at the poor, pathetic .NET developers. Unloved by Microsoft. Uneaten dogfood. Jilted in Windows 8. Told that .NET experience on a resume is a black mark with startups. They need an intervention.
Gentlemen and Lady, how can you Java Developers be so insensitive? .NET developers are weeping. A decade of hard-won knowledge lost and back with that FoxPro DBA textbook. They lay down with the Evil Empire and woke up with fleas. Go figure!
"...Paul Krill surveys the new capabilities that matter most for Java developers..."
Do these developers include Android developers? Well, that's the question. After all, Java code will run on Android's Dalvik VM without modification, right?
1. C#'s 'using' block so I don't have to use try/finally everywhere.
2. C#'s 'out' and 'ref' parameters so I don't have to allocate memory to return more than one value from a function.
3. C#'s 'struct' for "pass by value" data structures, or at least strong typedefs, so that a variable of type "typedef int A" cannot be implicitly converted to "int" or "typedef int B".
But honestly, I'd settle for a C# cross-compiler that targets the JVM.
p.s. Why oh why did I start a year-long game development project in Java? The hoops I have to jump through to get half-way acceptable performance are maddening. Someone please kill me.
As a developer I could care less about Java itself. It's the new Cobol.
It's in an awkward spot. For anything high level I'd rather just use Python. And for the few cases where Python's not fast enough, it's easiest to jump down to C++ and write a module I can call from Python.
The best thing about this new release are JVM improvements for dynamic languages, which should help out projects like Jython, JRuby and Scala.
Maybe not
http://www.java.com/en/download/faq/java7.xml -- "Why is Java SE 7 not yet available on java.com?
Java SE 7 is the latest release for Java that contains many new features, enhancements and bug fixes to improve efficiency to develop and run Java programs.
Why is Java SE 7 not yet available on java.com?
The new release of Java is first made available to the developers to ensure no major problems are found before we make it available on the java.com website for end users to download the latest version. If you are interested in trying Java SE 7 it can be downloaded from Oracle.com..."
It sounds like even Oracle, itself, doesn't think Java 7 is ready for the public!
Ant(Dude) @ Quality Foraged Links (AQFL.net) & The Ant Farm (antfarm.ma.cx / antfarm.home.dhs.org).
Among the delayed capabilities are adding Lambda expressions, or "closures," to Java for multicore programming, ...
Lambda expressions are not closures, and neither enable parallelization. Yes, the Wikipedia articles for both are dense swamps, but couldn't you have at least tried to ask someone? Please?
Bio questions? Ask me to start a Q&A journal. Computer analogies available for most topics!
I believe this is actually because the JVM for 7 hasn't made it to the Mac yet.
Just to correct the article: Scala is not a dynamically typed language. It uses type inference (at compile time) to create a highly expressive language which still benefits from static typing.
What's In It For Developers? Lawsuit
Got Code?
It sounds like even Oracle, itself, doesn't think Java 7 is ready for the public!
And they are right indeed...
If it is that bad, then don't release it!
Did update #1 even fix it?
Ant(Dude) @ Quality Foraged Links (AQFL.net) & The Ant Farm (antfarm.ma.cx / antfarm.home.dhs.org).
AFAIK it is planned to be fixed on update 2. Which is kinda retarded - even for Oracle standards.
Wow, that is seriously messed up if it is true. I will stick with the older stable version (v6u27) that just got an update last week. ;)
Ant(Dude) @ Quality Foraged Links (AQFL.net) & The Ant Farm (antfarm.ma.cx / antfarm.home.dhs.org).
... is there something you can't do with Threads, but you can with Fork/Join?
A heath shoes are good for people to keep fit, Here we have offered our Shape Ups Skechers shoes, you can have a try when you are walking for a walk, our MBT Shoes Skechers UK shoes may make you more strengthen, on the other hand, this summer the he Skechers Shape Ups Sandals are also necessary for you.
Google just needs to re-implement all their shit in C++ and we can get an "Oracle can Blow Me" congo line going. Having a native mode executable build down to 20 *kilobytes* and actually run in 20 kilobytes is freaking awesome. Having real system level control over your hardware, awesome. As long as you're not seduced by template fuckery (You know who you are, "lets factor prime numbers at compile time" template people!) or dynamic link libraries, it's a fine language!
I'm trying to teach myself to set people on fire with my mind... Is it hot in here?
Oh yeah more crappy toolbar of the week installers!
We have made a concerted Java from all of our machines as a toolbar install system wasnt what we had in mind
for business, it was easier/cheaper to purge the company of Java, its toolbar installers, and all its security flaws than have it on the machine and constantly deal with headache of support
There has got to be a performance hit for "extending" garbage collection to files, sockets, and databases.
No, there does not. All that is happening is the compiler is writing correct code for you that is commonly used, so that you don't have to try and get it right.
"There is more worth loving than we have strength to love." - Brian Jay Stanley
karen millen dresses sale
karen millen dresses UK
karen millen outlet
karen millen online
karen millen coats
chloe fashion
authentic chloe outlet
chloe paraty python
Chloe online shop
shop chloe
chloe clothes
chloe bags
.NET called. It says welcome to 2006.
Where is this Java SE 7 update 1 at since you say it has been released?
It's not on Oracles Java download page:
http://www.oracle.com/technetwork/java/javase/downloads/index.html
FTA:
A key feature of Java SE 7 is its accommodations for dynamic languages, which are becoming prominent on the JVM lately, thanks to the emergence of languages such as JRuby and Scala.
Scala is _NOT_ a dynamic language!
The fork-join framework pushed in Java 7 as the "way to parallelism for applications" is seriously flawed, http://coopsoft.com/ar/CalamityArticle.html
I've been considering using some free time to play around writing Android apps for fun (I have no ambitions of trying to make any money at it) but I'm really nervous about the time investment with all the uncertainty around java. I have literally zero experience programming in Java, but I've played with C++ a little bit and several other higher level object oriented languages.
Can anyone give me some advice here? Is my time better spent just brushing up on HTML5 and Python?
Either that or they forgot to get the server password when buying Sun.
Java the language is dead to me. I could care less. What I do care about are JVM improvements that speed execution of the alternate JVM based languages: Scala, Rhino, jRuby, Clojure, Groovy, and to a much lesser degree Jython. The alternate languages are where all the action will be over the next ten years.
If you're a Java-only guy and haven't looked at Scala, run don't walk! You will love it, especially if you've played with any of the functional languages at Uni or on your own time.
I can only hope that someone will do a JVM Haskell and that the OCaml-Java project will mature into a stable platform.
"Liechtenstein is the world's largest producer of sausage casings, potassium storage units, and false teeth."
Now that Apple is moving away from Java and we dont have Java SE 7 downloads from Apple I do not see Java SE 7 downloads on Oracle's page as well. Is building OpenJDK on mac the only option left?
What happens if, say, a close() fails during the destructor call?
HAND.
One tool is better than another when it helps you accomplish the same task with less effort.
An intermediate representation is being interpreted.
HAND.
simply scoped resources that is.
HAND.
Lazy evaluation has nothing to do with it.
Not even lambdas are needed, nor anonymous classes. All you need is the ability to instantiate objects (with state) dynamically (aka. "new").
Of course anonymous classes and (especially) lambdas make such an API much nicer to use.
HAND.
I can only hope that someone will do a JVM Haskell
No can do. JVM doesn't guarantee tail call optimization for method calls, which is a must for Haskell (and most other FP languages). It's why Clojure has that ugly explicit "recur" hack.
Unfortunately, JVM wasn't really originally designed for languages other than Java, and it shows. They're trying to patch it up now with things like invokedynamic, but it needs far more than that.
It's just scoping, really. You can do it in C++ if you like, here's one way to DIY (without the error checking):
Note that C++ only guarantees destructors are not run before something goes out of scope; exactly when after is Implementation Defined. So if a file MUST be closed (say, because you just wrote it and want to pass it to another program), you still need to invoke the close method explicitly.
Perl does much the same thing when a reference to an IO::File class or a filehandle gets garbage-collected. This Java feature just makes it part of the language syntax, rather than having to glom on yet another library.
Ah, the impetuousness of youth. All of those "alternate languages where all the action is" are great toys ... until you need to get a job (or leave academia).
PS - Java ain't dead til netcraft says so!
Slashdot: come for the pedantry, stay for the condescension.
The new Java 7 resource statement does something more useful here. It catches the exception and attaches the stack trace to the original exception (if there was one). If there wasn't a pending exception when the close failed, it actually throws.
That's not something which can be done in C++ because destructors (as you say, and of course, I knew before asking :)) cannot throw. ... but this also means that if a file fails to close() during normal RAII (perhaps because of a failing flush), there is absolutely no way to tell the user code. So you end up with subtly broken behavior.
In Java (7 or earlier) your code WILL get an exception and won't fail silently. ... and that is why RAII is broken (in C++ at least).
HAND.