Please don't hold your breath. Millions of programmers die every year from hope-influenced asphyxiation.
I mean, yes, C# has been largely open-sourced already. But with the new compiler framework being opened up also it seems imaginable that someone could write a version that spits out Bytecode instead of MSIL.
I have nothing against the JVM, but am not a huge fan of the Java language (and also how the Java libraries have been forced to be developed due to limitations within Java the language).
Yes Java 8 made Java much MUCH better than before, but just because Java 8 is a around doesn't mean all the libraries and other underpinnings got magically updated overnight.
This already rules it out from our projects, due to the way our customers manage their IT stacks and development environments.
So I don't need to ask permission to several IT departments to have C# on our projects, but I do need to do it for Scala.
I decided to never do Java again, and until now I have zero complaints, because I have plenty of offers to pick from.
Anyone that wants to bring something new to our projects needs to prove what is the business value. If it reasonable, it gets adopted.
So for Scala to be adopted on our projects, customers need to be convinced what is the business value of having their multi-site team learning it, instead of us using their already installed infrastructure.
I can dabble in alternative programming languages on my hobby projects.
https://www.reddit.com/r/programming/comments/2iszra/ceylon_...
Have you built any production ready apps or libraries in it? How was the transition from writing Java? Did anything cause you pain or surprise?
The module system can use the central maven repository but it doesn't accept dashes in the name like jackson-core unless you put it in quotes. (Took me a while to figure out).
Ceylon doesn't have enums but you can emulate them like this: http://ceylon-lang.org/documentation/1.1/tour/types#enumerat...
Otherwise it's fairly straightforward to translate java into ceylon.
I love immutability by default. Only 10% of my variables/fields are actually mutable. I could reduce that percentage further if the jvm had TCO.
Erasure is necessary when the type system is differently expressive from C#, which I beleive F# is.
Brian Goetz - Stewardship: the Sobering Parts
You can write stored procedures in .NET and Java instead of the engine's own language. Or extend the engine with new functions.
Most of the commercial SQL servers allow this.
One way to solve something like this, with much less effort and elegance, would be to make both langs output LLVM IR for instance, and jit the native binary from there..
Thats my point, i cant think in any way something like this would be a good idea, given the ammount of resources needed to do something like this for trivial results that would not payoff the efforts.
There is only one scenario that this would make sense, and its on Android, given it is tied to a jit runtime engine, but then , they could just drop CIL and compile from source in a intermediate their runtime would understand, the same one's java is already using.. so again.. no luck with that effort