On Sep 8, 3:44 pm, Casper Bang <[email protected]> wrote:
>
> There's also Mono; more familiar to Java developers and with it's own
> set of awesome stuff. Sadly it's missing from the JVM, but for all
> practical purposes it represents a Java 2.0 (opt-in type inference,
> dynamic typing, nullable types, lambda's, expression trees, properties
> etc.). Scala might very well be 3.0, but I fear the gap between 1.0
> and 3.0 is too great. Undeniably, Scala has a big opportunity here.

I believe you are thinking of C#, not Mono. Mono is not a language,
it's an open source version of Microsoft's CLI VM that is like the
JVM. You use Mono to run code written in languages like C#, F#, and
IronRuby.

Most of the language features you mention are already available with
alternative languges on Java 6. I suspect Scala covers all of those.
JavaFX definitely has type inference and lambdas (and closures too).
Groovy and Clojure have some or all of those things as well. Clearly,
the JVM language options are already available, but the flagship
language is still very important since it is so much better supported
and adopted than the alternative languages.

Mono has some major downsides. A big one is Windows/Mac/Linux runtime
compatability. Pretty much all software that is written to the JDK
(including non-Java languages) works well across Windows/Mac/Linux.
Most people in this forum are actively running complex super-IDEs and
web server software written in Java across Windows/Mac/Linux and
that's been the norm for years. There are only a few exceptions
(Hadoop) in the JDK world that are not fully Windows/Mac/Linux
compatible.

With the CLI, .NET, and Mono this isn't the case at all. You can't run
C#/.NET software on C#/Mono and porting between the two is a big, big
deal.

The one big hope was Moonlight: in that you should be able to write
Silverlight apps that ran fine on Windows or Linux or Mac, but in
reality this just doesn't work. I have been doing a lot of Windows-
centric C# + Silverlight work these past few years so I've been
investigating. I've been trying new versions of Ubuntu every six
months (from 8.10 to 10.04) with the new version of Mono + Moonlight
and they haven't ever been at a usable state so far.

On Linux (Ubuntu), in terms of basic stability, Java > Flash >
Moonlight. Java has glitches, but is by far the best (with the Sun
JDK, the Open JDK in the default repo is very buggy). Flash works
perfectly for video (better than JavaFX video players), but it's flaky
for most interactive applications (Flash works the best on Windows,
then Mac, and Linux is a distant third). Moonlight on Linux just isn't
usable at this point.

-- 
You received this message because you are subscribed to the Google Groups "The 
Java Posse" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/javaposse?hl=en.

Reply via email to