Skip to content
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

Open
rcsilva83 opened this issue Jun 12, 2023 · 8 comments
Open

Decide the programming language #1

rcsilva83 opened this issue Jun 12, 2023 · 8 comments

Comments

@rcsilva83
Copy link

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.

@FelixSelter
Copy link
Owner

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.

@rcsilva83
Copy link
Author

Isnt the only thing the user cares for that it works?

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.

@FelixSelter
Copy link
Owner

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?

@rcsilva83
Copy link
Author

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.

@FelixSelter
Copy link
Owner

I am sure this can be easily implemented in Kotlin. I guess this is an opportunity to learn a new language

@rcsilva83
Copy link
Author

@rcsilva83
Copy link
Author

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.

@FelixSelter
Copy link
Owner

FelixSelter commented Jun 14, 2023

I found a cli library that supports native images. https://picocli.info/ It allows for styled output and auto completion, man pages, etc

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants