5 ms·
I think Nim may be the most underdocumented project I've ever used. I spent a week or so with it, but quickly grew extremely frustrated as I was constantly scou
by mikebenfield 9y ago
I think Nim may be the most underdocumented project I've ever used. I spent a week or so with it, but quickly grew extremely frustrated as I was constantly scouring old forum posts to learn how to use the basic features of the language. That is not a tolerable situation for me.
- scriptkiddy 9y agoI've been working with nim on some toy projects recently myself. I don't think there is a lack of documentation so much as there is bad organization of the documentation. Pretty much everything in the language and it's standard library is documented somewhere. You can use the documentation index to find it. Here are some links you may find useful if you decide to try again: Documentation index: https://nim-lang.org/docs/theindex.html https://nim-lang.org/docs/theindex.html (everything) Official Tutorial: https://nim-lang.org/docs/tut1.html https://nim-lang.org/docs/tut1.html Standard library documentation: https://nim-lang.org/docs/lib.html https://nim-lang.org/docs/lib.html Language Manual: https://nim-lang.org/docs/manual.html https://nim-lang.org/docs/manual.html (information on syntax, type system, GC, etc.) Compiler user guide: https://nim-lang.org/docs/nimc.html https://nim-lang.org/docs/nimc.html Backend docs: https://nim-lang.org/docs/backends.html https://nim-lang.org/docs/backends.html (nim cmpiles to C, C++ and js) Built in templating docs: https://nim-lang.org/docs/filters.html https://nim-lang.org/docs/filters.html How to tune the GC: https://nim-lang.org/docs/gc.html https://nim-lang.org/docs/gc.html Development tools docs: https://nim-lang.org/docs/tools.html https://nim-lang.org/docs/tools.html More about the compiler: https://nim-lang.org/docs/intern.html https://nim-lang.org/docs/intern.html All of these links come from nim-lang.org's documentation page here: https://nim-lang.org/documentation.html https://nim-lang.org/documentation.html
- Recursing 9y agoI think the idea has great potential, but the absence of a strong community is killing it :(
- cdunn2001 9y agoNah, I've always found quick answers to questions in the forum. Simplicity is under-rated. With Nim, most problems are easy to grasp just by reading source code. And when I don't understand the docs, I look for a simple example at http://rosettacode.org/ http://rosettacode.org/
- dom96 9y agoIf you don't mind me asking, what in particular were you searching for? I agree that Nim's documentation needs a lot of love but would like suggestions on what specifically you had trouble with so that I can at least improve that (for now) :)
- mikebenfield 9y agoUnfortunately I can't remember the details at this point. There was something I couldn't figure out with the `new` function and heap allocation in general, and I also got frustrated trying to understand some things about the type system. I do know one thing about `new` was that it took me forever to figure out how to allocate anything on the heap at all, only to find a couple lines about `new` in the API docs. At least, I think that's what happened. Sorry I can't be more specific.
- dom96 9y agoNo worries, thank you for replying :)
- arc776 9y agoCurious as to when you had this problem, I thought the manual was fairly descriptive: https://nim-lang.org/docs/manual.html#types-reference-and-pointer-types https://nim-lang.org/docs/manual.html#types-reference-and-po... I'm sure your original question was more nuanced, but for anyone wondering about this basically any ref type is heap allocated, and you do this by calling new, so: type MyType = ref object var myHeapObject: MyType new myHeapObject Pretty much anything else is stack allocated and doesn't need the GC if I remember right.