Upgrade to 1.9.3.1

From RoboWiki
Fragment of a discussion from Talk:LiteRumble
Jump to: navigation, search

According to git, there is a bug fix (fixing SittingDuck craches) either at 1.9.3.1 or right after release. Unfortunately git does not have the tag. May be we can ask fnl to make one more release or at least clarify this part.

But I am personally not so exited about java 10 coming forward. Debian stable has only java-9 in the distribution. It will be a pain to switch to java 10. I think so far we agreed that robocode clients should support java 8 not even java 9.

Do those lambda things are so critical for bots development? I know you apparently use them but do you really need them. Do they give you extra speed or robustness?

Beaming (talk)16:44, 4 April 2018

yeah, Java 9/10 support is poor even in today, and they didn’t add anything as useful as lambdas, so stick with java 8 is never a big problem.

However, with lambdas, Java 8 is a completely different language. Lambdas gain more optimizations (e.g. omitting unnecessary object allocation) comparing to anonymous class, and with lambdas you can avoid several unnecessary boxing and unboxing which is unreasonably slow, so yes, they give more speed; Lambdas remove several crufts in Java development prior to lambdas, resulting cleaner and more readable code, so yes they give robustness.

I personally relay on lambdas heavily for cleaner and more readible code, but with customized build scripts, I can easily transpile my code to java 7, so moving on is not much beneficial for me. But it’s not easy to setup such a build script, so for other people, especially new-comers, they will never have a chance to use lambdas in robocode development. They will even be scared and despaired by the fact that their bot can not run on roborumble, even with Java 8.

By not moving on to robocode 1.9.2.6+, we are wasting a large part of effort of moving to java 8. With the better bot list update mechanism, I think it’s definitely time to move on.

Xor (talk)01:10, 5 April 2018
 
Personal tools