Live data from Hacker News

Choosing Nim out of a crowded market for systems programming languages

forum.nim-lang.org

71–80 of 271 posts

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

#71

I really can’t understand where this idea that rust is ‘hard’ comes from. Everything that it formalizes is something that you should already be conscious of . If not, well… you have a different, bigger problem.

Can you explain to us what's the bigger problem we should be addressing according to your opinion sir?

You’re creating lots and lots of bugs that will come back to haunt to at runtime (midnight on a Friday if the universe has its way).

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

#72
post #60

I really can’t understand where this idea that rust is ‘hard’ comes from. Everything that it formalizes is something that you should already be conscious of . If not, well… you have a different, bigger problem.

That's true only in comparison to languages with manual memory management. Higher level languages spare you the burden of being conscious about these things, which means Rust is naturally going to be more difficult to work with than, oh, I dunno, Ocaml. From the other direction, coming from low-level languages: the other problem is that Rust's type system isn't powerful enough to express certain things that you, a co…

Memory things, sure. There is the whole concurrency/parallelism thing, though.

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

#73
post #46

Earlier quoted context omitted.

The Rust community is however, an excellent community to be part of. And it's future proof. Everyone knows Rust is the future. I'd say, for most college students, Rust would be the one you'd advise today.

I have bad experience interacting with members of the rust community. Biggest issue is that they don't keep their opinions to themselves and frankly make everyone misserable with their "join us now, you must" mentality.

I have mixed experiences.

The evangelism on HN and reddit can be stifling. Particularly the overemphasis on "safety".

The community on discord was very helpful though, when I was struggling.

I feel like the community is large enough that you can find a lot of more normal people using it, and just avoid the zealots.

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

#74

If I recall Nim doesn't even allow tabs. Programming languages should not be overly opinionated in formatting, especially when it requires extra bytes to use spaces.

> Programming languages should not be overly opinionated in formatting

I think gofmt, python black, etc have demonstrated that it's usually better to have a single standard then it is to fight endlessly about these details.

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

#75
post #30

> [..] I decided that I need a safe, fast, and statically typed language that can be compiled and targeted to both mobile and desktop environments, as well as being made available to scripting languages via FFI. And you eliminated Rust because.. it’s too complicated? It meets these requirements to the letter! Since this is a greenfield effort, would it really be too expensive to invest some time to learn it? Anyways,…

> would it really be too expensive to invest some time to learn it?

I guess it depends on who you are. I find the complexity of Rust, and the community's cultural acceptance of said complexity, oozes out into every library to make every new thing you try to do seem like another incredibly hard slog.

I had one try at Rust a couple of years ago, and gave up. I had another one in the first half of this year, this time intending it for a (personal/hobby) cli app. But again, just found it dispiriting. I wasn't baulking at a single tutorial. I read all the Rust book (and worked through about half of it in detail). I read Jim Blandy's book. Lots of tutorials etc. I went through all of Rustlings. And wrote the first phase of my cli app (it's trivial but fairly robust and I use it daily). I still found it damned hard to get anything done in Rust.

I haven't quite given up (mainly out of stubbornness and having some time on my hands), and plan to take up the 2nd phase of my one Rust app. But anyone who finds Rust to be tractable by just 'investing some time to learn it' is living in a different world from mine.

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

#76

Earlier quoted context omitted.

I have bad experience interacting with members of the rust community. Biggest issue is that they don't keep their opinions to themselves and frankly make everyone misserable with their "join us now, you must" mentality.

I have mixed experiences. The evangelism on HN and reddit can be stifling. Particularly the overemphasis on "safety". The community on discord was very helpful though, when I was struggling. I feel like the community is large enough that you can find a lot of more normal people using it, and just avoid the zealots.

Yeah, the way I sometimes describe this is that Rust social media can be pretty toxic, but the actual Rust community is generally very friendly and supportive. The problem is that a lot of people confuse the two.

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

#77
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.

Something I long assumed about Rust before really getting started is that it is /slower/ to develop with. And at first that is definitely true because it introduces some pretty big, powerful, and constraining things. When you learn to work with these things and have taken your lumps discussing your code with `rustc` it is a lot of fun. 1.) Moves / borrowing / memory model 2.) Adopting a more functional style [to supp…

Found this myself. Learning curve is steep. Still not there yet but once you get into it I can really see how more productive I am vs other languages.

Other languages just require a lot more trial and error to get them to do what you want. Rust, if it compiles, generally does what you expected.

It's not just type safety and the borrow checking either, it's the idioms, std lib, and other language design choices that lead on to improved devex in the wider ecosystem as a result.

I understand you can get the same features out of modern C++ now days but it's not just the features, it's everything that comes with it.

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

#78

If I recall Nim doesn't even allow tabs. Programming languages should not be overly opinionated in formatting, especially when it requires extra bytes to use spaces.

I disagree entirely. Ideally there should be one valid way to format your code, and robust tools to make that formatting happen automatically.

Allowing alternatives yields zero benefit and causes pointless debates and diffs.

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

#79

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

I wonder why people haven't implemented it yet. Seems like a good project for me.

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

#80
post #7

The author seems to be very knowledgeable about the different aspects of programming. Whether you agree with his opinions or not, this article I think is a great starting point for learning about many interesting topics. Definitely bookmarked for later.

They sound like someone that is attracted to chasing the high of the next technology to learn rather than picking a language like C/C++ that would have worked and given them way more career stability. Rather than mastering a bunch of programming languages they should have focused on one and built clout as a problem solver that doesn’t see a new shiny tool as a way to label their career. Boring popular language + focu…

Have you considered there may be a reason why so many large tech companies are so eager to move away from C++?
Post reply on HN