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.
