More than 2800 developers speak out about Java 8
typesafe.com
typesafe.com
http://www.javaworld.com/article/2087444/open-source-tools/j...
However, I'm getting pretty nervous with the lack of conformance Android Java has to the real Java stack. The two are diverging, and I don't see how Google can remedy this.
My guess is that Java 6 & 7 were modest enough that many developers of open source libraries thought it easy to support a profile that worked on Android.
If Java 8 adoption is as brisk as this poll suggests, with all the features many have been waiting for, I'm worried a lot of the libraries I use may become incompatible with Android.
Already, its hit and miss if a open source java library works on android. I just tried lmax disruptor and it didn't work. Things that depend on NIO.2 won't work either.
Did you forget Google created Dart because Javascript is a stupid mess? Google has at least 2 languages (Dart/Go) to try on before they'd even think about that turd that is javascript. And the list goes on GWT .... Google is definetly a Java shop,doing everything not to code in javascript.
On the other hand, I think it's worth pointing out that a lot of JavaScript development does happen at Google, albeit within the confines of the Closure compiler. Some kind of nodejs project somewhere at Google would not be out of the question. It's a big company. https://www.npmjs.org/package/closurecompiler
Besides, Java 8 lambdas should tickle the fancy of Google's engineers. First, it introduces a feature that is already trivially available in Javascript, Python and Go. In addition, remember that Google already develops and heavily uses the Guava library, which introduces the least painful workarounds to use some functional programming in Java, so it seems there is some motivation already.
It would be a pitiful split for the Java community if Google does not adapt Java 8. I fully expect that Java 8 lambdas will change the way Java programming is done. If Google stays with a pure imperative Java, it will likely split the ecosystem in two different languages. Java 7 did not introduce enough language features for this to happen, but Java 8 definitely will.
I think that comment was a bit exaggerated.
> Does "speak out" always have to be attributed to negative opinions?
I would say no, not always, but generally, yes. That's exactly what I thought when I read the headline and then when I went to the link I was disappointed that I wouldn't find a critique of Java 8. I am, however, still interested in a survay ;)
Note that I am enthusiastic about Java 8, so thinking there was a valid critique of it really piqued my interest.
One could interpret some of the answers as a bit critical of Java (or the community), but not Java 8 specifically. The fact that 22% of Java devs are using a release that is 7 years old and hasn't been updated in a year isn't something the Java community is likely bragging about.
I mentioned elsewhere in the thread that the takeaway for me was that 83% were excited about lambdas, which Scala already offers, and the notion that Java's future updates might start looking more like Scala. So the survey may suggest "why not just use Scala?"
Regardless, I thought HN had a policy against editorialising article titles.
Great. So to forecast the next presidential election they're going to poll a million NRA members and celebrate the fact that the sample size is much greater than what's needed.
http://en.wikipedia.org/wiki/Simple_random_sample
More complex sampling methods can be used since SRS is usually intractable (you'd need to put every single person in your superpopulation into a lottery by magic, else you'll bias toward those who like email surveys or actually read their mail). In the event you use one of these you usually need a bias mitigation strategy. For instance, you might just state something like "we assume that receptiveness to email and dislike for Java are correlated". It's then up to the reader to decide whether they trust your assumptions.
You might also do some other support studies which help to measure the size of the bias your non-SRS sampling methodology induces and then correct for them.
- Most use Java7, a few still use Java6
- Mixed response on when exactly people will upgrade to j8
- Most exciting feature in j8 is lambdas
- 98% use Oracle JVM, 20% use dalvik (android)
- App servers popularity is Tomcat, Jetty, Jboss, others
- Mixed thoughts on Oracle getting security right
Seriously, what is the point of these questions...? You could get all these answers with a google search.Why would the company most behind Scala post a very positive survey about Java? One would think that Scala's success probably relies on either replacing or supplementing Java.
The only item that would be rather newsworthy would be the plans to adopt 8, but as you mentioned the survey doesn't provide a clear answer.
My takeaway was that the most interesting new feature for people was lambdas, and Scala already offers lambdas. This could be interpreted as "Survey respondents are most excited about a Java feature that they could already have if they used Scala".
> Immediate Java 8 Migration Plans: 65% of Java developers have plans to upgrade to Java 8 within the next 24 months.
Er; "within the next 2 years" = "immediate"? That's a long-enough time scale that a lot of the respondents may be thinking "well, all our enterprise stuff is still on version 6, but surely my plans to overhaul everything won't take more than two years, will they?"
Also, 2800 is not actually a very high number, is it? Is that enough to be representative of Java developer intentions, preferences, etc.?
1) More enhancements to the core java libs that are more functional programming friendly for use from Scala.
2) Legacy Java code less painful to maintain.
3) Java programmers suddenly stopped calling $FEATURE evil, since Java now provides $FEATURE too (well for a small subset of Scala features anyway).
Now, what I would LOVE it would be a survey and thorough interview of the public before Java 9 is built instead of after...
In Scala I can do:
import com.foo.bar.{Bar => FooBar}
But that's mostly just useful for dealing with cases where you have to deal with classes with the same name in different packages.
The verbosity in Java comes from a lack of type inference, lack of first-class properties (get/set naming convention doesn't count), and a whole basket of other missing features. Another large contributor to Java verbosity is sadly the the Java culture of over-engineering and resistance to change which has built up over the years (the latter partly in response to the glacial evolution of Java in the last decade).
I personally prefer unchecked exceptions to error codes, but otherwise, compare C's "#include <stdio.h>" to Java's "import java.io....;". (markdown won't let me put in a star here for some reason)
The FILE * type is so much more compact an interface than the zoo in the Java io package. Select an appropriate fopen/popen "factory method call", and off you go.
Regarding exception types, the Java libs have too many exception types you either must catch in the wrong place, or redeclare as thrown, rather than how C# does it with unchecked exceptions.
[1] http://blog.joda.org/2009/11/why-jsr-310-isn-joda-time_4941....