this post was submitted on 25 Jul 2023
60 points (96.9% liked)
Programming
17492 readers
36 users here now
Welcome to the main community in programming.dev! Feel free to post anything relating to programming here!
Cross posting is strongly encouraged in the instance. If you feel your post or another person's post makes sense in another community cross post into it.
Hope you enjoy the instance!
Rules
Rules
- Follow the programming.dev instance rules
- Keep content related to programming in some way
- If you're posting long videos try to add in some form of tldr for those who don't want to watch videos
Wormhole
Follow the wormhole through a path of communities !webdev@programming.dev
founded 1 year ago
MODERATORS
you are viewing a single comment's thread
view the rest of the comments
view the rest of the comments
I like Nim and many concepts of it with the big point of discussion being that function names get normalized (helloWorld === hello_world).
But I feel like that Nim is a language without purpose. It's all nice and cool on paper, but it has no use case where I think "I have to do it in Nim".
Go is known for making small, fast startup web apps, Python for making small one time tasks or Data work, Rust low level programming if you like functional programming, PHP if you want yo setup a website as fast as possible.
But Nim doesn't have this, it doesn't have a library that's better than in all other languages. It's nice but what for?
I have to disagree with your "when use what" list. Python has production ready web backend frameworks, Rust is perfectly fine for complex and high-level software, and PHP is mostly obsolete. That's my humble opinion though. I looked into Nim and like many of the concepts. It's quite complex and I prefer Rust most of the time when Nim would be an option. I'd argue it's some kind of "jack of all trades". A bit like python but compiled, ref-counted, and probably a lot faster. It's lacking the huge community python has though.
And where did Rust, Python etc get their huge community from in the first place? From being jack of all trades? No, because they were the best fit for their use case. After they established themselves there, they became widely good.
tl;dr Language evolution and future outlook are big factors besides the existing language features themselves.
I guess Rust has attracted many C++ devs because C++ is painful and there were no other/better options. Rust comes with a build/dependency management system and memory safety guarantees on top of the type safety. Even though C++ templates are still unmatched, I prefer Rust 95% of the time. C++ is evolving very slow and it's extremely hard to participate. Rust will win that race eventually.
Python has been around since 1991(!) and it took a looong time to build the community. It was a niche like Nim is now for many years.
I'll definitely keep an eye on Nim because it has the potential to become quite popular.
Again, that's all just my opinion.