kotlin looks cool. But it's missing some minor things that would make it much more friendly:
* no regex literals
* a little verbose(instead of [] for arrays, it's "Arrays")
* hashes IMO should be JSON
* why doesn't null evaluate to false? God I hate writing if (a != null). I'm much happier in javascript/ruby/groovy land where if can type "if (!a)" or "unless a" or even cooler "raise Exception("a should not be null") unless a"
* why did the world standardize on camelCase instead of snake_case ? the world was wrong about this!
basically a little more javascript and ruby influence would have been good. make the language more "fun" and expressive. There is no equiv of the ||= operator or | for joining arrays, etc
But the big things it's missing are more ecosystem features:
* REPL
* an alternative build system (please don't make anyone use maven!) should be an interpreted scripting language. I'd look at Rake or Gradle for inspiration
>kotlin looks cool except they should do all kinds of dumb stuff as if it were a scripting language
It is a statically typed language designed to try to drag java programmers kicking and screaming into the 1970s. Virtually everything you listed would be a bad change. Just use a language that is actually similar to what you want.
No, dumb ideas are dumb. It has nothing to do with java. Haskell is statically typed, and it is far more advanced than the languages you are thinking of when you think advanced.
Trying to turn a language into a totally and completely different language is dumb. This is not complicated. Civil discourse also requires that you take the time to read and comprehend words before you reply to them with crap.
* If you read the link, there is no guarantee of backwards compatibility to the current point within future releases. This is why they're still in milestones.
* Jetbrains has yet to show us that they are, themselves, committed to Kotlin by implementing something major in it.
* They won't provide a timeline for 1.0.
I love thinking about and toying with new languages, but when it comes to sitting down and doing stuff, I need to know the environment has enough commitment such that I don't have immediate code rot.
So you would use a pre-1.0 version with no guarantees of backward compatibility to implement something real? Something that a business depends on, not just something you can toss up on your GitHub page to look cool? I would fire you as soon as we tried to update to a new version and had to spend weeks fixing your now broken code.
I've been really impressed by Kotlin after trying it out for a week. I didn't have huge problems with Java (I accept it for what it is) but it really is nice to user a more modern Language. (note: I've never tried Scala)
And that's despite my assumed bias, because I work at JetBrains.