Live data from Hacker News

Choosing Nim out of a crowded market for systems programming languages

forum.nim-lang.org

11–20 of 271 posts

Re: Choosing Nim out of a crowded market for systems programming languages

#11
post #5

> Zig is truly compatible with C and will compile C code directly, since its compiler is actually written in C++. I assume this was intended to say something else? > Here's the brutal truth: I can't find anyone under the age of 41 in my field to say a single positive thing about D IIRC the presence of the GC in D was (is?) its Achilles heel. Because the GC is infectious. As soon as your dependency needs it (and IIRC…

The issue with D is it still feels unpolished. Every time I try it - which is maybe once a year or so - the experience still feels weird and edge casey.

The idea that a GC is somehow a hindrance to language adoption doesn't make any sense to me at all. Doesn't stop people loving Go. But go has slick tooling.

Re: Choosing Nim out of a crowded market for systems programming languages

#12
post #8

I'm choosing between learning Nim or Rust. Nim frankly looks like the nicer of the two, but also less marketable and with smaller community. Suck to say but it's true.

Nim is also easier to learn - if you know Python and any conventional statically typed language, it's a walk in the park. I was producing fast, working code in a couple of hours. Learn Rust for your job, Nim for your side projects.

Does Nim have any large groups sponsoring? Part of the appeal of Rust is that it will be around in 20 years due to so many groups adopting it and maturing its governance.

I enjoyed learning Nim syntax through exercism.io (not affiliated, just really enjoy it as a tool), but I'll be honest that I have no clue if it will become an ungoverned mess or thrive.

Re: Choosing Nim out of a crowded market for systems programming languages

#13
The best language to learn and use right now for systems programming is C/C++. It is by far the most marketable skill with 99.999999% of all low level systems written in C or C++. Large scale systems used by companies that pay top salaries for developers (Google/Meta) are written in C++. There is more material out there for learning and mastering these languages than any other language save maybe Python or JavaScript.

If you are not an expert at C or C++ and being paid to learn Rust or Nim, you’re actively harming your career by not mastering the languages that people want today. If learning hot new fads brings you joy, then perhaps the intrinsic value outweighs the real world loss, but it’s the hard to swallow truth.

Re: Choosing Nim out of a crowded market for systems programming languages

#14
post #5

> Zig is truly compatible with C and will compile C code directly, since its compiler is actually written in C++. I assume this was intended to say something else? > Here's the brutal truth: I can't find anyone under the age of 41 in my field to say a single positive thing about D IIRC the presence of the GC in D was (is?) its Achilles heel. Because the GC is infectious. As soon as your dependency needs it (and IIRC…

The issue with D is it still feels unpolished. Every time I try it - which is maybe once a year or so - the experience still feels weird and edge casey. The idea that a GC is somehow a hindrance to language adoption doesn't make any sense to me at all. Doesn't stop people loving Go. But go has slick tooling.

> The idea that a GC is somehow a hindrance to language adoption doesn't make any sense to me at all. Doesn't stop people loving Go.

I meant as a systems programming language. To replace C or C++ or such.

Re: Choosing Nim out of a crowded market for systems programming languages

#15

Nim desperately needs a real web framework (batteries included) and a proper ORM and it will take off like wildfire. Python on steroids.

I think you’re very confused about the purpose of a systems programming language.

Nah, parent commentator and me both think Nim could be really large. The definition of "systems programming language" is defined by arbitrary lines.

Re: Choosing Nim out of a crowded market for systems programming languages

#16

Nim desperately needs a real web framework (batteries included) and a proper ORM and it will take off like wildfire. Python on steroids.

I think you’re very confused about the purpose of a systems programming language.

Not at all, and I've actually _used_ Nim for a few years now.

If Nim does not get a general purpose, batteries included web framework it will never reach escape velocity and will be left in obscurity despite all of the incredibly difficult and marvelous work Araq and the team has done.

I want them to succeed. I love the language!

Re: Choosing Nim out of a crowded market for systems programming languages

#17

biggest con of Nim - no one uses it, so you will probably hit a toolchain/compiler error which will be very frustrating too similar to Go to not go with the 100x community size Go brings with it

Hey I do, and report bugs which eventually are all getting fixed. Besides me (who's that guy anyway) there are a lot more experienced programmers who have built amazing things with Nim. Arraymancer, a deep learning library comes to mind and fidget which is an UI library, it's remarkable because all it's dependencies were written from scratch in Nim. Not to forget the Ethereum client nimbus and all the other companies using Nim in production. Perhaps give it a shot?

Re: Choosing Nim out of a crowded market for systems programming languages

#18
post #12
post #8

Earlier quoted context omitted.

Nim is also easier to learn - if you know Python and any conventional statically typed language, it's a walk in the park. I was producing fast, working code in a couple of hours. Learn Rust for your job, Nim for your side projects.

Does Nim have any large groups sponsoring? Part of the appeal of Rust is that it will be around in 20 years due to so many groups adopting it and maturing its governance. I enjoyed learning Nim syntax through exercism.io (not affiliated, just really enjoy it as a tool), but I'll be honest that I have no clue if it will become an ungoverned mess or thrive.

https://nim-lang.org/sponsors.html

Re: Choosing Nim out of a crowded market for systems programming languages

#19
Im currently writing a multiplayer game client (personal project) in nim +SDL2 which is comes with bindings for. Now and then I hit some obtuse compiler error messages, and the compilation times aren't the best. But honestly I'm glad I chose it over c++, which has been my default choice in the past. I wanted to try something new and I'm glad I stumbled across it at the right time

Re: Choosing Nim out of a crowded market for systems programming languages

#20
post #15

Earlier quoted context omitted.

I think you’re very confused about the purpose of a systems programming language.

Nah, parent commentator and me both think Nim could be really large. The definition of "systems programming language" is defined by arbitrary lines.

Web apps are applications and are the opposite of systems software. Systems software would be the web server itself, or something that runs beneath the application layer.

Yes definitions are sometimes nebulous but that doesn’t mean words should lose all meaning and we should stop trying. Systems programming is a useful label for the boot stack, kernel, protocol implementations etc. which support the application layer.

Post reply on HN