.NET is very fragmented now. The have 3 different not compatible platforms (.NET Framework, .NET Core, XAMARIN). The are going to make some cleanup with .NET Standard. I suppose it will take some time.
And in this case I would like to have F# on JVM
Just like Java, Kotlin will appeal to C# devs a lot, which may not be true for some other languages like C, C++ or Go.
Native devs tend to not like runtime dependencies and gc.
F# on .net is not a problem. JVM already had Scala.
Jetbrains is already on .net foundation.
If you follow discussion on roslyn, the current open source C# compiler in Github, you will find C# is trying to be something like Kotlin. But maintaining backward compatibility is holding them back.
Kotlin has a converter from Java. A similar C# to Kotlin converter will be very useful to attract C# devs. And Jetbrains already parse C# for Resharper. and this conversion will be idiomatic for C# devs, which is not true for other platform devs. C# devs could not even move to F# that easily.
Jetbrains has Resharper with a large audience base. They can use it to push Kotlin. And a full featured IDE Rider is also on the way.
I see an unique opportunity for Kotlin in .net ecosystem. With it, it may become the ultimate garbage collected C-family language (Rust is the non-GC LLVM king), for every platform. In my simple knowledge I see more value in porting to .net than porting to LLVM/native for Kotlin. Please do it.
Perhaps it’s not quite as easy:
JVM → Android, PC (Windows, OSX & Linux), Server(servlet container)
JS → Web, Server(nodejs)
Native → Android, iOS, PC (Any), almost any other target, Server(fastcgi)
.net → Windows phone, windows store, mono (linux, osX)
I was looking at the developes’ mindshare, not platform marketshares. Is there any other developer groups, other than Java devs, Kotlin is a very good option(not just another option)? Given the native implementation is done, I think no. Considering Kotlin for different language devs-
Scala to Kotlin? Probably not enough reasons.
C? Probably sticking with C or going towards Rust or Go.
C++? Same as C.
Python? Sticking with itself.
Given that previous attempts to build alternative languages on the CLR (Boo, Nemerle, Scala.NET, even F#) saw extemely limited adoption, the “hell yeah” doesn’t actually sound believable. And C# is a much more modern, full-featured and nicely designed language than Java 8.
I am really glad to see someone from JetBrains team responding.
Other than Nemerle, those languages look very different from C#, and there was no one to make big push behind them. I assume, Kotlin was inspired by Nemerle and C# a lot. Nemele was acquired by JetBrains so far I knew. And Jetbrains has that ability to make the big push. Why would people use Kotlin instead of C#, given C# is already a nicely designed language? Because Kotlin has some features C# will probably never achieve because of backward compatibility.
However, I know a company like JetBrains will not start something just by a forum thread. I would request to assess the potential market value of Kotlin for .net in a formal way and compare that to potential of native market, if not done already. I may be wrong, but I think the value of former will be greater. That’s all.
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.
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.
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.
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.