I find the "playing catch up" thing a bit silly.

Java and Scala were designed in very different times and with very
different foundations and design goals. If you look at the number of
features, Java will never be able to catch up with Scala, period. Any
attempt to retrofit all the Scala features into Java will make Java a
gigantic mess that nobody will want to touch. This is what has been
happening little by little to C++ over the past two decades.

As much as I am regularly frustrated by certain things in Java that are so
simple and elegant in other languages such as Scala, I fully support the
decision of Brian and his team to be very parsimonious in what they add to
the language and how they add it. And this sharp focus allows them to come
up with implementations that are elegant on their own and that fit well
with Java's philosophy (as far as I can tell, a lot of Scala experts agree
that the design of Java 8's streams is very strong and something that might
end up in Scala in some form).

I'm looking forward to Java 8 and I already started gently pushing Brian
toward a solution for the getter/setter problem in Java and in the
meantime, I use Scala, Ceylon and Kotlin in my free time whenever I want to
do something more fun.

-- 
Cédric



-- 
Cédric



On Wed, Feb 26, 2014 at 8:57 AM, clay <[email protected]> wrote:

> > "Anyone have any thoughts on (
> http://java.dzone.com/articles/think-twice-using-java-8) and (
> http://coopsoft.com/ar/Calamity2Article.html)"
>
> These two articles are criticizing just parallel streams or collections.
> The same general feature exists in Scala and C#, most people don't use it
> or consider it terribly important in those languages. It doesn't hurt. It's
> a super simple way to change a collection .sort() or .aggregate() type call
> to use multi-core. It might be nice to have in some cases, but more
> substantial parallelization in real world apps will require more broad
> architectural changes.
>
> Both articles are written with an exaggerated, emotional tone. The
> coopsoft article is 99% rhetoric and hyperbole to the point of absurdity.
>
> Also, these articles don't mention anything else about Java 8. Note in my
> original post I mention five awesome things about Java 8 and parallel
> streams isn't mentioned. I also mention the ways Java is behind Scala and
> parallel collections isn't mentioned either.
>
> > So... When looking toward Java 8, "catching up in some areas" would be a
> fair assessment
>
> Java 8 is definitely playing catch up in some areas. That is wildly
> obvious. In some areas it has caught up with the back of the pack, in other
> areas it has moved to the front.
>
> Java 8 is playing major catch up with clean lambda syntax and basic
> map/filter type collection operations. Even JavaScript has had this stuff
> for a while. IMO, C/C++ are the worst in this regard.
>
> Java 8 edges towards the front of the pack with flatMap and Optional.
> Scala, Haskell, and F# have had those for a while, but JavaScript doesn't
> have flatMap (nor does C/C++), and C# doesn't have Option/Optional.
>
> Java's date/time library went from the worst of the major languages to the
> best. So that is catching up and then some.
>
> The Java VM has always been very competitive for the type of VM that it
> is. Obviously, Scala is completely built around the Java VM, and the Java 8
> VM has many significant improvements.
>
> The Scala devs have said that the Java 7 MethodHandles were too slow
> compared to other custom systems that they have built. I know Java 8 has
> made a lot of improvements in those areas, so hopefully it is more
> competitive.
>
>  --
> You received this message because you are subscribed to the Google Groups
> "Java Posse" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to [email protected].
> To post to this group, send email to [email protected].
> Visit this group at http://groups.google.com/group/javaposse.
> For more options, visit https://groups.google.com/groups/opt_out.
>

-- 
You received this message because you are subscribed to the Google Groups "Java 
Posse" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
Visit this group at http://groups.google.com/group/javaposse.
For more options, visit https://groups.google.com/groups/opt_out.

Reply via email to