4 ms·
I'm learning Rust now, I can say Nim is much harder. Maybe the language itself is simpler, but the documentation is just not very good. Very unpolished and amat
by _dain_ 4y ago
I'm learning Rust now, I can say Nim is much harder. Maybe the language itself is simpler, but the documentation is just not very good. Very unpolished and amateurish. I actually forked out fifty quid for Araq's "Mastering Nim" book; it is atrocious. Spelling and grammatical errors on every page. The very first code example did not compile.
I also regularly run into utterly infuriating bugs while trying to accomplish what I thought would be simple things. Don't expect to be able to get anything useful done using iterators. They're zero-cost only if you don't value your own time.
On the other hand, all of Rust's docs are a joy and I haven't run into many technical problems so far.
- planetis 4y agoI have the book, and it's an excellent resource for the language. I might be a little biased because I am a long time Nim user but definitely so are you.
- winrid 4y agoYeah, I wrote an equivalent service in Java and Nim, and I just couldn't get Nim to perform as well as Java, and it wasn't even easy to write. Random segfaults, depending on memory manager used, random libraries requiring different memory managers, ORC being talked about a lot despite causing random segfaults, and so on. I really want to love Nim.
- lenkite 4y agoAuthor's take on Java is really funny. "..the JVM's largesse isn't aging particularly well. It will die with my generation's retirement." I call this fundamental blindness considering the JVM is improving dramatically year after year - now even supports lightweight concurrency like Go in 2022. Java will still be alive and kicking when no one alive even remembers Nim.
- j-james 4y agoDid we read the same book? I find Mastering Nim a pretty excellent reference. (And you have to install the pixels library :-P) The online documentation, certainly, could be better. I sometimes find standard library documentation lacking in examples, and compiler documentation is currently undergoing a massive refactoring effort on a couple of fronts. But the manual (https://nim-lang.github.io/Nim/manual.html https://nim-lang.github.io/Nim/manual.html) isn't half bad.
- _dain_ 4y ago>(And you have to install the pixels library :-P) I knew someone would say this: it doesn't tell you that, does it? It's supposed to be an introductory reference work, so surely "how to install the 3rd party package required by our hello world example" should be included? And anyway, even after I installed pixels the code still didn't run right. I honestly found it insulting that such an expensive book would have such obvious oversights. It's like nobody proofread it at all.
- poulpy123 4y agocan you post a picture of the page ? I'm curious now
- _dain_ 4y agoActually I just double checked and it turns out I misremembered; it does tell you how to install the library. But it didn't work properly when I tried to run it, I just got a blank window. A few people in the Nim discord had had the same problem and nobody could figure it out. I don't want to take a picture because I already wrote in the book and I don't want people to see my handwriting. But here is some verbatim text from that single page: >In this chapter we will show the basics of Nim language needs a "the" before Nim >(types, for loops, if and case statements, procedures, etc.) while using basic graphic primitives to create shapes needs a comma after the close parenthesis >The premise is that the `putPixel` proc exists and we can use it, ... "proc" is a nonstandard technical term that has not been defined properly yet >All we need to know is: that proc takes the x and y coordinate of a point ... colon should not be there, and it needs a "the" before "proc" In and of themselves these are fairly minor problems, but the whole book is like this. All are forgivable in say, a blog post, but this is a book I paid good money for. It's shoddy work, evincing a lack of care. Not to mention, the print quality is poor.