Hacker Read top | best | new | newcomments | leaders | about | bookmarklet login

Nim has a python-ish feel, though it's definitely not python. The syntax is similar, the semantics are different -- but are very sane. It's much less opinionated than Python or Go, about as fun to write as Python, about as easy to deploy as Go (simple small native executables without dependencies), and about as fast to run and FFI as C++ (if you use the native backends, but it also has JS backend)

Try it, you might like it.



sort by: page size:

I've played with Nim, I think it's great and deserves more attention. Especially in the scientific computing and gamedev communities.

It has Python-like terseness, static typing, and simple C interop.


I haven't heard much about Nim (until reading this post). I saw that someone was comparing it to python in a way? What are your thoughts on it?

You might like Nim, too, based on that criteria. Granted, I don't know how similar it is to Python, but it seems like it's got potential.

Nim is closer to D than Python IMO. The syntax is like Python, sure, but in terms of features it's very similar to D (statically typed, supports multiple GCs, fast compiler).

I chose to learn nim coming from Python, because found C++ to be annoying and difficult. It feels like python but faster. I have compiled to to JS and integrated with complex C++ libraries. I like it so far. Metaprogramming is cool feature. Community is also really helpful.

Nim? I know it has Python-like syntax and aims to be performant, but don’t know much beyond that.

If Nim continues at the same pace, it may displace Python.

It is "as fun as" Python to start with, it has the knobs that made python popular in many niches. It has official JS, C, C++ and Objective-C backends (with perfectly compatible and natively fast FFI in each case). It compiles down to small, efficient executables like Go does.

It has some of the best metaprogramming facilities (in a non-lisp language), which makes it possible to introduce "source native" notation for e.g. XML and JSON.

It also has an LLVM backend, though it is not yet complete.

Nim is a big and complicated language, but so is Python. The size of a language itself is not a problem, as Python shows. Unlike C++, you don't have to be familiar with every small metaclass/descriptor/base-class-lookup issue to use the language. I believe Nim shares Python's "it's ok to ignore the details until you need them" feature.


Nim is pretty cool, and I always look for a way to use it. Started a couple of side projects in Nim and it is a great balance of close to metal like C and expressive like Python, but with a proper type system.

My main criticism is that it feels like a large language with all kinds of weird features and you can write very clever and dangerous code. A tiny bit Go-like restraint and it would be perfect.


As a Pythonista , I tried small projects in Go and Rust but ended up liking Nim overall. Compiles to C and the syntax just feels like I'm writing Python.

That's why I started using it.

But Nim is much more than just this, it's more like "We like Python, but we also like static typing, efficient and dependency-free programs, super easy C/C++ FFI and metaprogramming. We also like to write all our software in the same programming language so we compile to JavaScript" :)


I do like Python (my work mostly done in Java, though). A few years ago, I was looking for a language with Python-like expressiveness, with system programming capabilities ala C.

Seems like Nim is the answer :)


I also recommend looking at Nim. It has Python-like syntax but it feels very different than Python for me when using it. Stellar language though that has been getting a lot of attention!

Have you given Nim a try, as a Python developer it seems like it would be right up your alley.

At first blush, it's easy to describe Nim as C-flavored Python, but I'm not sure that quite captures it. The syntax is similar, but that's about where the similarities end - Python is deeply, fundamentally a dynamic language, and Nim one of the more firmly statically typed non-functional languages out there.

You could also describe it as being competitive with Rust, but with more compromises for the sake of developer ergonomics. Garbage collection, for example.

For my part, I'm finding it attractive as a potential Java-killer. It isn't write-once-run-everywhere, but, now that x86 and Linux have eaten the world, that's not quite such a compelling feature anymore. And Nim smooths things over a bit by making cross compiling dead easy. In return, I get better type safety, better performance, a much better C FFI, and less verbose, easier-to-understand code.


Nim is very underrated. It's among the fastest, has a python-like syntax and can compile to C, JavaScript and other languages.

Nim has everything nailed down except the ecosystem/commercial backing; It does have some of those, but not to the extent that I would blindly tell you they are there.

It's as fun as writing Python (with a similar syntax), but it has essentially all the goodies you want from Lisp when you need them, runs as fast as equally optimized C, produces standalone native binaries, _or_ standalone JavaScript if that's your thing.


As a python dev, nim was much easier to get into than Go, Rust, or even Zig.

If you squint, it looks like a toddler Python with strong typing, compilation and a few different API, espacially for managing finalisation.


Nim to me is basically compiled Python. I really root for it, but it honestly hasn't gotten the traction it deserves

I've been working with golang and Nim for side projects for a few months, and well... I really like both a lot. Having coded in Python for what seems like forever, Nim is feels like the fast Python without training wheels I've always wanted. Golang, nothing bad to say there, either, but I like reading Nim code more.
next

Legal | privacy