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

Nim language #54

Closed
develooper1994 opened this issue Jan 20, 2020 · 2 comments
Closed

Nim language #54

develooper1994 opened this issue Jan 20, 2020 · 2 comments

Comments

@develooper1994
Copy link

Have you ever heard of Nim language? It is also has a great c++ interface and Nim 1.0 came out recent time.

@microsoft microsoft deleted a comment Jan 21, 2020
@mjp41
Copy link
Member

mjp41 commented Jan 21, 2020

Nim is a very interesting language.

There are many differences with what we are building. I think the main is ownership transfer. As far as I understand Nim: each thread has a local heap, and the objects from this cannot be moved to another heap. This allows for efficient memory management, but can make concurrent software hard to write. In particular, it typically means you need to perform a deep copy of data.
The marshalling cost of the copy can be prohibitive.

Ownership transfer allows for single threaded access without the cost of copying. This has been the basis of messaging in Singularity, which was improved upon in Midori's C# (M#), and is also the basis of messaging in Pony. This ownership transfer behaviour is also what is captured by Rust's Sync trait. In Verona, we are very much in that approach.

I look forward to seeing more developments in Nim.

@develooper1994
Copy link
Author

I think Rust is overwhelming after long time of python usage. It would be very hard but I think you should consider python like easy to learn and use language(I know for big projects with python is terrible).
I am looking forward to interesting verona inventions.

@mjp41 mjp41 closed this as completed Jan 21, 2020
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