I don’t believe so, unless Android and LibGDX specifically support the functions included in the new JDK update. You can’t exactly force an API to use features that aren’t implemented in that API.
How do you know? Honestly, I’m not trying to be mean here! Google is huge company, they could be doing anything at any time and most of us wouldn’t know until they told us. Not to mention an update is (usually) just a bunch of fixes and some new features. Does Google need to implement Lambdas in their code everywhere? Probably not. You can still use them, though, because its part of the JDK. Android is just built on top of Java, which still gives you access to all the Java functions. Google just needs to incorporate some of the new stuff in the update into it’s low level code, which you will probably not be concerned with anyway.
This is the bit that slightly concerns me.
Generics turned out to be really useful, but lambda expressions seem to me more like making the syntax more compact but more difficult to read by taking away a bit of context.
I’m sure I’ll be able to get used to them, but do lambda expressions actually offer more beyond that?
I used to release little games as applets and I thought Java was great. I then turned to webstart where people could run your stuff from their desktop. I thought Java was great. Then they released 7.21 which made applets and webstart programs show up with huge security warning popups. These programs stayed entirely within the sandbox but Java doesn’t seem to trust itself. I could pay for a certificate (and that’s assuming they’ll give me one) but I just look upon it as extortion.
It’s nice to see that they’re doing another release but personally I’d put “having programs run without loads of warning popups” higher on the priority list than whatever “lamda expressions” are.
That can never happen. The whole concept of trusting arbitrary code to run without asking permission (as it does when you just happen across it on a web page for example) is about the worst idea ever conceived. I’m awaiting with interest when the same sorts of things inevitably turn up in JavaScript.
But if it’s running within the sandbox then does it matter?
If I download an exe of the web and run it (after virus scanning etc) then I get fewer warnings then when I try to run a sandboxed Java app … go figure.
EDIT: I’m fine with it asking permission but surely if you click the webstart icon then doesn’t that kind of imply you want to run the program. What I object to is all the warnings that show up.
I’m unsure if it’ll ever pose a problem in JavaScript.
The biggest difference between Java and JavaScript is the Client File Access doesn’t exist with the base API. You have to download a separate application just to get any sort of access to the client. In every other language, this functionality is built into the language so with a bit of permission flips, you can just access whatever you want to access and that is it. JavaScript’s sandbox is literally that, you have no access to altering the files of the client PC, period.
To bring this a little bit more on topic…
If lambda’s are the “BIG FEATURE” that everyone is talking about in Java 8, undeniably, this language is in grave trouble. I mean, we already have Scala, why should this be the most prominent feature? What I hope to see, is Java working hard to keep itself relevant. As it stands, even Unity is getting WebGL cross platform support with iOS and Android by working with Mozilla. If Java can’t break its way into getting deals like its competitors can, it’ll remain a niche language… and we all know what happens to those.
WebGL renders always in offscreen mode which is always at least a bit slower than onscreen rendering and it is nowhere near JogAmp / Android GL / LWJGL in terms of reliability as I explained in my article here.
I had downloaded the jdk pre-release builds and have been developing my game with those. Defender methods are pretty cool. It makes it easy to add certain types of functionality with very little boiler plate.
Roquen, what do you mean? When you use an IDE, it uses the compiler of the JDK except maybe in Eclipse, I’m not sure its incremental compiler uses javac.
Edit.: Eclipse uses its own compiler (ECJ) based on Jikes. I use javac in Eclipse when I run my Ant script, therefore I’m concerned by this bug.