Hacker News new | ask | show | jobs
by jbotz 2211 days ago
It occurs to me that the although they were aimed at different uses cases the language that's actually closest to Nim today is Julia. Python-like syntax, compiled to native code, significant meta-programming capabilities, some native support for concurrency. The biggest difference seems to be the approach to types, since Julia is a dynamically typed language (with optional type annotations) and Nim is statically typed, but Julia's type systems is powerful enough that in practice the difference may not be so big.

Anyone out there who has used both and has more observations?

2 comments

Julia's ahead-of-time compilation story is not great. If you just want a single executable, it's kind of a pain, and there are all sorts of caveats. I think it's slowly getting better, though, but the language really wasn't designed for that use case. If I needed run-time metaprogramming/JIT compilation/a REPL, I'd go for Julia. For a single executable, I'd choose Nim.
Last I checked, Julia is not AOT compiled, and some people don't like Julia's startup time.

For numerical computing however Julia wins hands own purely based on the community and libraries.

Julia can be AOT compiled, though it's still experimental progress is being made quickly.