-
Notifications
You must be signed in to change notification settings - Fork 0
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Decide the programming language #1
Comments
does a tool whose main purpose is to be used out of the box benefit from a platform its users are familiar with? I mean the users will not change something or add plugins? Isnt the only thing the user cares for that it works? Are there any advantages of the tool being in a jvm language. Even if we decide to use Kotlin would a java developer or a scala developer still benefit from it? Adding additional overhead like an entire bundled jvm seems unnecessary. But the native image sounds very interesting indeed. |
Yes, it is but my point is about contributors. The JEnv user is a JVM developer, right? He/she would be more willing contribute to the project developed on a familiar platform. A Rust code-base would be a barrier for it. |
in this case Id prefer kotlin over java but I have never used it before. Java would certainly allow more contributors to help though. Maybe the advanced features of kotlin are not worth it. Maybe you have an opinion on this? Is there anything about kotlin thats a real advantage or is it just a better developer experience? |
I think it's just developer experience. We can try to create a basic version (as the one you did in Rust) in Kotlin + native image to validate the concept. |
I am sure this can be easily implemented in Kotlin. I guess this is an opportunity to learn a new language |
This article may help: https://www.infoq.com/articles/java-native-cli-graalvm-picocli/ |
Felix, I forgot Kotlin also has a built in support for native compilation. The problem is that only libraries that support Kotlin/Native can be used and there aren't many of them. I'm gonna give it a shot anyways. |
I found a cli library that supports native images. https://picocli.info/ It allows for styled output and auto completion, man pages, etc |
Today this repo has an initial code written in Rust, which is great for cross platform support, security and speed. But writing a full scale application takes more time than with other languages. Additionally, as a Java-related tool, writing it in a JVM language would be more appropriate as it's a platform all the users would be familiar to.
However, using a JVM language could lead to depend on a pre-installed JVM. This could be handled by creating a native image with GraalVM or bundling a mini-JVM created with jlink.
It my arguments make sense, I would suggest using plain Java or Kotlin, as they are the most popular JVM languages nowadays.
The text was updated successfully, but these errors were encountered: