I’d like to start a discussion about having a Kolin-c for .net CORE as target VM.
There are many good reasons for this, e.g.:
MS is making very good progress for supporting WASM PWAs with their BLAZOR project that is about to be released very soon. Instead of wait indefinitely for Kotlin multi platform (WASM) support it would be wise to use existing infrastructure. (Saves resources too!)
.net CORE is multi platform
.net CORE ist open source
there is a really good support for BLAZOR in VS and VS Code already
you could drag thousands of developers to the “better language” Kotlin due to C# being really verbose
Kotlin could nestle perfectly into BLAZOR’s infrastructure
it is not necessary to re-invent the wheel over and over again
what is more important then spreading Kotlin to a maximum community -if it is that good
Reusing BLAZOR for Kotlin would mean building some kind of compiler plugin that allows K/N to spit BLAZOR-compatible WASM. I am not sure how much resources would be “saved” from the JetBrains standpoint. Moreover, the web (through WASM) is clearly not the main goal of Kotlin (yet).
Well, I don’t think JetBrains care very much about that point, being an IDE editor.
Maybe, but many C# developer use it because they like it, we can’t say this for Java, so I don’t think there would be as much adoption. And even if C# developer where ready to adopt Kotlin, how many people are we talking about? is it worth the effort?
Not sure about that one, BLAZOR and KMP have different targets and goals. BLAZOR is (as far as I know) for the Web, where KMP is for pretty much anything, including native Apps.
sure ,but the two wheels look kinda different to me
What is more important is to have a rock solid and consistent ecosystem, and supporting yet another platform doesn’t go in that direction IMHO
But in what way is it different that it should affect the decision to support it? I don’t say that .NET Core would be bad, but all in all it is similar to the JVM. Blazor is indeed a nice framework (as far as I can tell from reading a bit of the documentation), but that would not justify the effort. Sooner or later similar frameworks will emerge for Java or Kotlin.
If we look at the rest of the ecosystem, I would say that .NET is less appealing than the JVM, because it is not as diverse and innovative. Don’t get me wrong: all this is not bad in .NET land, but the JVM ecosystem is just bigger with more big players.
I think that in the ultimate future, there will be a target for CLR, just because Kotlin is posed as a default language. Right now, kotlin compiler team is stretched thin as they are, so not on the immediate todo list. According to @abreslav talk on last KotlinConf, WASM target is planned. So, first the WASM, then something else.
I also think that when the work on IR will be finished, it will be much easier to add new compiler back-end targets since they will share the common front-end part.
My two cents. I have been a C# developer for years. I got attracted to Kotlin because of the language simplicity, the null handling and the “Google” support behind it. Also found that it was superior to Scala and Java and provided may constructs that already existed in C# (linq vs collection operations in Kotlin). Working in data science I thought this was going to be a strongly typed option to Python. I thought, the language of the future was going to be Kotlin.
The data science part has disappointed me. In general there is a total lack of support for many of the existing libraries and one has to try to make sense of Scala or Java syntax bindings to make use of them.
I see Kotlin as being promoted mainly as an Android development language and not getting enough attention about its server side benefits. In the meantime, Microsoft has really gotten behind .NET Core and now C# is a real option for Unix systems.
On the server side, C# seems like a better option and with Microsoft behind it a better option for Data Science as well.
I would not spend any time on this until Kotlin has better support for libraries that enable server side productivity.
JetBrains is about to improve the data science part. For server side development Kotlin is a perfect choice today. Spring supports it with special Kotlin APIs, and every other Java server framework can be used, too. There are even pure Kotlin frameworks like Ktor.
There is the official dediated team at JetBrains, but there is a community effort to make it better fo science in general, there were several talks about it in KotlinConf last year. If you have some kind of specific request, please create a new forum branch about that or open a feature requrest in dedicated repository.
I check back in on the Kotlin .NET situation every few months because I completely believe that it would be a real game-changer. I’m glad you started a new thread for this, since the old thread got locked.
I’ve used Kotlin server-side and it’s a Godsend. However, more and more people are moving away from JVM on servers, in favor of .NET Core. Right now is the perfect moment for Kotlin to swoop in; it’s a much more pleasant language than C#, while still maintaining enough similarity that I think interop would be achievable (a lot more achievable than JS, I’d expect).
I’m one of many Java server developers who are migrating to .NET Core, and we’re missing the joy of programming in Kotlin. I would even divert a significant portion of my salary to help fund this project, since it would make my job that much more pleasant.
Since this is the most recent topic about Kotlin for .NET, I’ll just leave this comment here.
I’m writing a lot of Kotlin code at work, targeting the JVM. As a hobby, I like to do game development. Many popular game engines (including Unity and Godot) use C# as their scripting language. I don’t know why, but that’s what we’re dealing with. Now, here’s the thing: outside of Rider, which sadly has no community edition, there are no good C# IDEs out there. VSCode C# support is buggy and rather lackluster overall, MonoDevelop has already been a bad joke 5 years ago, and don’t get me started on the monstrosity that is Visual Studio. Coding in C# is quite the pain for me for that reason. If Kotlin would compile to .NET core, I could use Kotlin to code for Unity, and I could do so in IntelliJ. That would be ever so awesome.