JetBrains Plans For Kotlin In Embedded Development


#1

Many people in the Kotlin community are aware that JetBrains is doing something with Kotlin in embedded development via the Kotlin Native initiative (project?). When can the Kotlin community expect to find out more details about these plans? Would be good to see JetBrains providing more transparency on Kotlin’s long term plans.

Have JetBrains seriously considered consulting the Kotlin community on Kotlin in embedded development before progressing any further? Some members of the Kotlin community have some valuable embedded development experience that is highly likely to be relevant to what you are doing. I have a VERY valuable contact (Electrical Engineer) who has over 25 years of embedded development (in hardware and software) experience who may be available to act as a part time adviser to the Kotlin Native team.


#2

First of all, we appreciate your concern and the offered help. I’ll explain a little.

  1. Yes, we are working on Kotlin Native, which is a compiler back-end (using LLVM) and runtime for compiling Kotlin programs to native code and running without a virtual machine.
  2. Kotlin Native is potentially relevant for at least the following platforms: iOS, embedded, WebAssembly, scripting (including games), scientific computing/data analysis.
  3. We don’t have a plan yet as for which of the areas above we are going to focus on fist.

The core technology required for all of the areas above is the same: compilation to native code, runtime (including memory management), core library. When we have a good sense of how the core turns out, we’ll decide on a specific area of focus, and then reach out to the world to consult about that area.


Why Kotlin Native?
Kotlin Native and WebAssembly = Native mobile apps in browser?
#3

no desktop (Linux/macOS/Windows) ? :frowning:


#4

What exactly advantages do you expect to gain from writing a desktop application in Kotlin Native as opposed to the regular Kotlin for the JVM?


#5

Being able to save 150+mb when releasing my game, avoid high memory usage, and avoiding that “Java hate” that lot of players have, avoiding the GC, and have structs (really important)

So your question might be why not choosing a non managed language in the first place? that’s the point and why i’m looking at Kotlin Native, i love it, it’s a beautiful language, so if it can target Desktop it’ll be perfect :stuck_out_tongue: (I hate the C++ syntax (source and header files shit), i hate Rust (it’s like chinese), i hate Go(syntax looks messy) )

Reason why i stick with C# and Java/Kotlin is because it’s easy to learn/use/nice syntax, excellent IDE support and target everything without issue, but if i could use Kotlin, and compile to native instead i’ll be better :stuck_out_tongue:

But my opinion might be useless i’m not an experienced user, and we know nothing about this project after all :smiley:

Before i heard about Kotlin Native, i was just waiting for Apple to release Swift on windows, and it looks like it’ll happen really soon https://github.com/apple/swift/pull/7451

Even if both looks similar, Kotlin and JVM ecosystem is superior


#6

Smaller apps. No whiny users saying “omg it’s java”. Low overhead and simple way to consume of any C api, COM included. Simplified licensing of end product.
Performance not being priority unless horrible.

What should be third party licensing terms of kotlin? Will it allow sell kotlin based binary software embedded as part of device to distributor? IP, patents, copyrights situation? Facebook like agreement of auto license recall in case of any lawsuit? I guess you currently can’t provide them since actual platform is Java.


#7

Even if Kotlin can move away from the Java Platform (JVM) there is the thorny issue of the ecosystem to take care of. Is it really worth it to dump the JVM ecosystem to target a different platform? Now if Kotlin could successfully target Web Assembly, and provide good interop with standard web APIs (incl web ecosystem) then it would be a VERY compelling (viable) web front-end alternative, which would deliver a devastating blow to Swift on the web side.

Swift is already having an extremely difficult time getting established on the web back-end side. Kotlin has already started to establish itself successfully considering the server side announcements that were made recently (eg Vert.x and Spring), and the language uptake in general (it isn’t all about Android).


#8

And looks like MS is also working on something similar https://github.com/dotnet/corert