The Kotlin programming model is very close to the Java model, in order to give very smooth interoperability. In those places where the C# and the Java programming model differ, you cannot be the same or close to both of them. Interop between Kotlin and JS is necessarily less smooth than with Java. If Kotlin were to target the CLR it could not interoperate as closely with C# as it does with Java now, because it has been designed to be similar to Java. Being similar to C# would require a redesign of much of the language, and being similar to both C# and Java would probably involve some trade offs which would make interop with either language less smooth compared to what it has now for Java.
In general, the problem is not only the language, and its semantics, but the standard library as well. Javascript doesn’t have much of a standard library, and especially not one that would conflict with the Kotlin library. .net has a standard library (often shared across the languages) that is not necesarilly compatible with the kotlin libraries. This doesn’t mean that Kotlin doesn’t work, it means that interoperation will be limited.
Disclamer: I understand JB has already assessed this and taken their decision.
Here is another use case that we have encountered: having Kotlin work on CLR would allow to run .NET DLL easily.
We have this issue where I work, and there are no easy way to handle this easilly, especially when we do not hold the source code of the DLLs.
Just decompile it… seriously
I’m starting to believe that you are all Microsoft bots that are trying to push/force adoption of .NET in linux, it’ll never happen, nobody want Azure bullshit
I experimented a little bit with IKVM (https://www.ikvm.net/) last year, but the project is quite dead for many years now. It compiles JVM bytecode so it works with Kotlin as well.
How is that anywhere constructive? I’m sure you intended to spell Microsoft with a $ instead of an s so you could be edgy. We get it, you don’t like Microsoft; but the truth is there are a great many people that do – get over it, nobody wants your judgmental boorish comments.
As for the idea, I think it has merit but it really isn’t something Jetbrains should be working on – the comment by @vsazel makes more since as an inception point if someone wants to carry that torch forward. Otherwise, Kotlin can stand on its own; even if it loses a few use cases.
I have 0 respect for companies with inhumain practices (see what happened to RoboVM)
Definitely your prerogative, and I understand the consternation – same with OSX and FoundationDB (open source, goodbye, technology snagged), Google with Motorola Mobility, etc. With that said, the overall base cannot be ignored in and of itself. It is too early to note that .NET will become ubiquitous, but to scream how will never happen and how everyone hates [y] because of personal anxiety isn’t really logical and is merely hyperbole. I greatly enjoy using .NET and the CLR, I enjoy the OSX products (which I use at home) the Windows products which I use at the office, and the linux products that I deploy my containers into and on top of. Every problem is not a nail and a good solution isn’t avoided merely because I dislike the company that made it. Otherwise I’d have a hard time buying my food.
The discussion has gone far into off-topic territory, so I’m closing this thread. To reiterate, JetBrains has no plans to work on Kotlin for .NET at this time.