A few things I see that look quite interesting besides the already well known lambdas, etc are the Compact Profiles, now if you need to distribute a JRE with your game you can legally distribute only a subset of it! Finally!

- Java 8 is awesome! Lambdas, streams, new date/time, VM improvements, and tons of library improvements. Very major release.- Scala is still a better, more elegant language. Scala work still directly benefits from many of the Java 8 changes, like VM improvements, date/time library, optimized unsigned integer math, etc.- This has zero to do with Android. Android is still mostly based on a variant of Java 6 and can't handle Java 7 bytecode or standard library calls.- Game development with Java is an empty desert. Except for Android. I can think of one recent full budget Java desktop game, Wakfu, and that's basically an oddball. The Java technology is really ideal for PC games, in that it's high performance, elegant, and very runtime friendly for PC/Mac/Linux.

Umm, what? I can't tell if you're serious or not, and with which statements.

I am completely serious. Look at the top indie PC games of 2013/2014. None of them use Java. The game dev world is mostly C/C++, some Flash, some JavaScript, and now some C# (ugh). Even Sony has pushed C# + Visual Studio quite heavily with Vita and PS4. Yuck! C# the language is nearly identical ot Java, but the .NET platform completely loses the open, independent nature of the JVM. Also Java has more vibrant alt-languages like Scala which are way better than Java/C#.

It's not popular as a game development language because of historic fumbling from Sun, a complete hiatus for 5 years during the awkward Oracle takeover during which C# flourished under Mono, and then the subsequent traction gained by Unity. Java does not have Unity and Java is not available on nearly as many platforms due to irritating restrictions. And Java still doesn't f**king have structs/mapped objects/value types which is a huge pain for games developers. So... it's mostly great, and mostly niche, in our area.

So java is great, but awfull compared to scala? Honestly confused on your stance.

Also, its just not true that great desktop games are not developed in Java.

Java, the language, is good, and a big step up from C++, but Scala is better.

Java, the platform (JVM), is great, a big step up from C++, and really well suited for making PC games. Regardless of well it is suited, it largely didn't take off. There is Minecraft, Wakfu, the Puppy games, and Android stuff. Many other tool ecosystems have developed much further: C, JavaScript, Flash, C#. Not because they are better technology, C# is in many ways worse, but their ecosystems have developed farther than Java.

And Java still doesn't f**king have structs/mapped objects/value types which is a huge pain for games developers.

Why is this so important? This is just a performance concern, right? Any benchmarks that showcase this issue?

Have you used value types in Scala? Those are more limited than full C# style structs.

If you went through Cas's post history even just a little, I'm sure it would become apparent that structs are/would be a game-changer (literally) when pushing the limits of what graphics can do in Java, although I'm sure someone can give links. See Riven's MappedObject lib for one. I also tend not to question the dude who has spent over a decade figuring something out.

Aside from terrific performance, the JVM gives you the best concurrency platform out there (though not the easiest to use), cool and extremely useful capabilities like dynamic linking and bytecode instrumentation, and unparalleled monitoring and profiling tools. It's the most professional platform you can choose (unless you're limited to Windows, in which case .Net is also an option). It's so far ahead than anything else out there, that the competition can only beat it in very specific use cases (e.g. Go is much better at startup time as well as standalone packaging, and C has better performance, though mostly in single-threaded programs). But nothing else gives you the whole package of performance, flexibility, maturity and monitoring.

Quote

So I've been pretty surprised to see that Java code can get fast, really fast. I've also managed to bang out some pretty slow code if I wasn't paying attention.

Structures are huge. They go well beyond the performance only side as well. Once the VM allows some limited form of pointer arithmetic there are a large number of language features which could be exposed to make languages more useful (aka faster to write, easier to maintain...all that good stuff.)

The short answer is probably not. The backend compiler code is mostly shared between versions. There's probably a few options that were turned off by default in the last 7 update that will be on in the first 8. Doing a 'diff' between the dumps will give you an idea if it's worthwhile or not to check. (http://www.java-gaming.org/topics/wiki/32055/msg/298657/rev/4/view.html)

I already turn most options I can on in Java 7, and indeed, there's no noticeable performance difference this time around. I was hoping scalar replacement had made it into escape analysis but I don't think that's the case judging by the vast number of $Itrs I've got floating around the heap.

hmm, seems like Windows XP is not supported by Java 8 anymore (although some reports suggest it might still work there while other state various problems), about 30% of windows PC's still seem to be on XP which is still too high to ignore IMO.

hmm, seems like Windows XP is not supported by Java 8 anymore (although some reports suggest it might still work there while other state various problems), about 30% of windows PC's still seem to be on XP which is still too high to ignore IMO.

java-gaming.org is not responsible for the content posted by its members, including references to external websites,
and other references that may or may not have a relation with our primarily
gaming and game production oriented community.
inquiries and complaints can be sent via email to the info‑account of the
company managing the website of java‑gaming.org