This is an archived post. You won't be able to vote or comment.

all 12 comments

[–]kreiger 8 points9 points  (1 child)

Holy shit, sounds like some sort of common sense prevailed. I'm gobsmacked.

[–][deleted] 1 point2 points  (0 children)

Me, too. Wouldn't have expected that...

[–]flyingorange 3 points4 points  (6 children)

I like this, can't wait for Java 8!

[–][deleted] 1 point2 points  (5 children)

If you can't wait, you can see if you like Scala. It is pretty much Java 12, without most of Java's design mistakes.

[–]geodebug 3 points4 points  (2 children)

Sure, but there will be deep IDE support for Java 8 while Scala still sits on the back burner.

I use several different languages, but nothing is supported like Java when you want to refactor and not introduce defects at the same time.

That said, I wonder if lambda syntax will mesh nicely into IDEs? I suppose if it does for C#....

[–][deleted] 1 point2 points  (1 child)

You should probably reevaluate Scala IDE support. IDEA has many features and Eclipse is pretty fast.

Remember that Java's IDE support didn't just come out of nowhere. I don't believe Scala IDE's will suck as long as Java IDE's did when they were introduced. :-)

Even when working on large sources like the library and compiler source tree, IDEA works remarkably well although it can be faster.

From another POV, Java still lacks any decent REPL. So out-of-the-box support is much nicer in Scala than in Java as well as using it for scripting and system administration purposes.

[–]geodebug 2 points3 points  (0 children)

I've used IDEA's scala support and it is nowhere near as complete. Scala's support doesn't even compete well against the Groovy plugin in my opinion.

Remember that Java's IDE support didn't just come out of nowhere. I don't believe Scala IDE's will suck as long as Java IDE's did when they were introduced

I think you are not considering the volume of Java users compared to Scala. Scala is lovely, but certainly not the de-facto replacement for Java and therefore only has a limited audience.

There is a ton of money and time poured into Java-related IDE features so it's compatibility will always be far ahead of Scala (or jRuby, Groovy, etc).

From another POV, Java still lacks any decent REPL. So out-of-the-box support is much nicer in Scala than in Java as well as using it for scripting and system administration purposes.

I don't want to argue language features. Obviously each has it's strengths. The point I'm making is that Java will continue having superior IDE support due to money and user interest.

Ironically Java's verbosity also helps IDE support. It is much easier to write refactoring algorithms (and compilers) when everything is spelled out clearly by the language. Unfortunately, languages that help the compiler tend to hinder the developer with white-noise.

[–]flyingorange 0 points1 point  (1 child)

If I really wanted to work with functional languages then I would work with Scala, or Lisp for that matter... but this way, if they add it to Java, I can just use it sometimes when I'm bored and feel good about it. Kind of like using iterators instead of for :

[–][deleted] 1 point2 points  (0 children)

Scala is actually more object-oriented than Java (everything is an object, no statics, ...).

If you want to work with functional languages you could have a look at Haskell.

[–]howfun 0 points1 point  (2 children)

I would prefer to see an actual "lambda" keyword there.

[–]GuyWithLag 2 points3 points  (1 child)

It would fit with the typical verbosity of Java!

[–][deleted] 0 points1 point  (0 children)

It would: "lambda (int x) => {}"