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

Why the project stalled? #8

Closed
mkpankov opened this issue Feb 6, 2015 · 6 comments
Closed

Why the project stalled? #8

mkpankov opened this issue Feb 6, 2015 · 6 comments

Comments

@mkpankov
Copy link

mkpankov commented Feb 6, 2015

Hi,

Sorry to create an issue about this, but I'm very interested in why you decided to abandon Rust for this task and use Nim instead.

Could you please tell us what are the challenges and why Rust is poorly suited to deal with them?

@ckkashyap
Copy link
Owner

Sorry ... I missed this note from you.

IMO ... its not that Rust is poorly suited, its just that Nim is suited much better.

I found Nim to not only satisfy the requirements for writing a kernel (which Rust also does) but also I can actually get how the whole thing works. I attribute it primarily to the fact that it generates "readable" C code as its target.

I can elaborate if you are interested.

@mkpankov
Copy link
Author

Yeah, some details would be nice!

I'm considering using a modern language for systems programming and would like an opinion of experienced developer.

@ckkashyap
Copy link
Owner

From a feature set point of view I believe Rust and Nim are
almost at par. A couple of aspects of Nim give it an edge in my
opinion.

  1. The module system of Nim is simple (in my opinion, it takes
    more work to make something simple). Since Nim transforms each
    Nim file into a corresponding C file, it's really easy to see
    what's happening under the hood. In case of Rust, I'd need to
    invest more time to understand it's module system.
  2. Since C is the target, it gives me freedom to write code for
    any platform I like - without having to wait for the language
    maintainers. (Rust targets llvm which is dependent on C++ so
    reaching arbitrary platforms is not going to be pleasant)

This link has some more comparison data -
https://github.com/andreaferretti/on-rust-and-nim

You can take a look at the my xv6 source in Nim - I was able to make progress much faster in Nim.

@justgage
Copy link

Thanks for showing me nim. Didn't even know it existed!

@ghost
Copy link

ghost commented Feb 16, 2015

It's named nimrod before, a long name , can not easily remember. but now, it named nim.
A short and easily remember word.
Like it renamed to nim. wise choice.

@ckkashyap
Copy link
Owner

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

3 participants