Generating native binaries indirectly with transpiler


#1

In the early days of of Scala there was .NET support in addition to Java. Is it feasible to use the transpiler work done with javascript to implement targeting golang? Attempts at creating native binaries for java never panned out so I’m wondering if transpiling to golang is feasible both technically and from the licensing perspective. This may be wishful thinking but I would love to use one language for everything and sometimes creating a native binary is a requirement. Using the go language tool chain is a modern way to create executables with garbage collection.


#2

I’d recommend to consider waiting for Kotlin Native, see Question concerning Kotlin native for some details.


#3

Kotlin native sounds good if it can get started soon. Golang is slowly gaining momentum even though it is far from elegant.


#4

It would be extremely helpful if you could find some time and elaborate in this thread your use-cases and motivation for native binaries and how existing solutions in JVM world like Java Packager Tool and Excelsior Jet do not address your needs. It would be really appreciated.


#5

Writing Nagios or Icinga2 stateless plugins that do quick tasks and exit is not practical with a JVM since they get launched so frequently. Also when writing utilities that do specific one-time tasks remotely via Ansible or Puppet, sometimes it is faster and more secure to push a binary over ssh rather than a script or utility app requiring a specific version of Java, Groovy, Python, etc…

I have never used Excelsior but can say devops people usually have little say in purchasing third party software for one-off projects so they are much more inclined to find a free opensource solution.

Seems the Docker team motivations for choosing Go would also apply to Kotlin native. Of course Kotlin would have to be better than Go in a lot of ways to get traction since everyone likes to jump on the Google bandwagon.