Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

Once NIM is stable it will be superior to Python in every measurable way. Is there any reason to stay with Python for new projects that don't depend on a particular Python library?


Availability of packages, tooling, established best practices and skilled developers is just as important as the language itself.

Unfortunately that can be somewhat of a chicken and egg problem for new languages.


When talking about programming languages, technically superiority is not correlated with popularity. Using Python means that if in the future I need to do data analysis I can use pandas, matplotlib, etc. If I need a web framework I could use Django, Flask, etc. NIM needs more packages in order to be considered.


The main reason people prefer python is because of the vast ecosystem. Hopefully Nim will reach there someday.

Anyways for a lot of things Nim is pretty good actually and I would recommend people to atleast try it.


Superior? You mean a language without community or ecosystem and pretty much not used by anyone.


It seems to me that the benefits of Nim over Python are far smaller than the benefits of Python's library ecosystem.

I'm pretty happy with Python though. It seems like Nim's benefits couldn't be that big. I consider Python "great", so the best Nim could be is "great-er", as a core language I mean. I've been rooting for Nim, but haven't actually tried it. And my use case is pretty small, I admit.


The benefits of Nim over Python are not at the ecosystem level yet, it is at the language level. Nim is not exactly related to Python as TypeScript is to JS.

Nim provides a lot of features like compile-time execution, macros, c/c++/js/obj-c interop, upcoming newruntime, dependency free executable, better performance and lower memory overhead in general (obviously people can write bad code), etc.

So if any of these features matter to you, you should give it a try.


Python has a huge ecosystem of great libraries and is stable right now, no "once" required. In Python you can also write performance critical code in C as the standard library often does.


Huge ecosystem also have issues. Your are tempted to use a library when a simple 100 line "replacement" that just does what you want will do.

I think the biggest problem in programming we have right now is people using libraries upon libraries not knowing how they work and drowning in complexity.

Huge ecosystems are almost like bureaucracies that eat productivity in their wake. They fool you into thinking they add value when instead they take it away.


> In Python you can also write performance critical code in C as the standard library often does.

As a sloth I can become a horse to run fast.

I like Python, but let's not take an obvious weakness and try to present it as a strength. In the modern programming language landscape where you can get expressive and fast, Python is still slow.


Does Nim have some sort of interop that lets it call into Python packages, so it can take advantage of that huge ecosystem?

I don’t get how anybody is claiming that Nim is at all comparable to Python. A nice syntax is like.... 1/10th the battle when you’re writing big projects.


There is https://github.com/yglukhov/nimpy There are/were others too IIRC.


You embed Python in Nim or build Nim as a Python extension.


I actually think it is a strength or really being able to use Cython to compile Python into C/C++ is the strength. There aren't too many scripting languages where I can do very little work/setup to get C-like performance, and I can still use Python and its huge ecosystem. Nim looks interesting because it provides a simple, concise scripting language like Python but makes compiling to C/C++ dead simple. Nim is just missing that ecosystem.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: