Kotlin on .NET platform


#1

Hello,
do you plan to port kotlin on .net platform?


Why Kotlin Native?
#2

At the moment there are no such plans.


#3

Supporting .NET would be a great idea. I personally am looking at making a switch from native Android development back to Xamarin and one of the things I will really miss is Kotlin. C# is really good, but not as great as Kotlin.


#4

.NET needs Kotlin?


#5

as a proof-of-concept))


#6

It doesn’t seem a valid motivation.

My question is genuine: a .NET or LLVM Kotlin’s fork may be a waste of time.
Kotlin is designed to be a better Java, but it will be a better C#, F#, Rust, Typescript and so on?


#7

another reason would be to port kotlin apps from jvm to .net or native as quickly and seamlessly as possible


#8

This can be a great reason but a language for all execution environment sound hard to do well.

However you can be interested to https://medium.com/@octskyward/kotlin-native-310ffac94af2


#9

.NET has F#. I don’t think so there is room for Kotlin.
https://developer.xamarin.com/guides/cross-platform/fsharp/fsharp_support_overview/


#10

For me, Kotlin on .NET would be a very good reason to jump onboard. I am waiting for a good language that allows me to build on both .NET Framework and JVM.

Currently the only language that allows this is Clojure so i might stick to that for a while.

Even if these VMs are different i strongly believe there should be a language that can be used on both.

Another good example is Powershell that is now available for linux which makes it in my opinion the best option for sell scripting.


#11

.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.

PS
And in this case I would like to have F# on JVM :smiley:


#12

Some points-

  • Compared to native, .net already has a gc and large standard library, So, porting should be easier. There are version of PHP(http://www.peachpie.io/) and Python(https://github.com/Microsoft/Pyjion) running on top of .net runtime.
  • 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.
  • Kotlin already has Javascript as a target. So, Kotlin architecture is not JVM specific.
  • 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.


#13

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)

Then look at the market shares.


#14

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.
  • Javascript? Sticking with itself. Typescript can be another viable option. Kotlin became just another minor option.
  • Python? Sticking with itself.
  • PHP? Stick with itself or move to Javascript/Ruby/Python.
  • Obj-C? Move to Switft.

C#? Hell yeah, if supported!


#15

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.


#16

I am really glad to see someone from JetBrains team responding. :slight_smile:
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.


#17

We’ve done the assessments, and the result of those assessments is to invest into Kotlin Native and to not invest into Kotlin on the CLR.


Why Kotlin Native?
#18

Then I rest my case. Looking forward to Kotlin Native.


#19

No, more like:

.net -> Windows phone, Windows Store, PC(any), mono/Xamarin (linux, Mac, Android, iOS), Server

.Net (really the CLR) has an extremely large market share

Native may have a bigger market share but would be a LOT more work.


#20

With .Net Core adoption on Linux C# should " kick ass Java :smiley: " -> takes some market shares from Java on server side, gets some more open source projects …