<div dir="ltr"><br><div class="gmail_extra"><br><div class="gmail_quote">On Mon, Apr 13, 2015 at 10:28 AM, Timothee Cour <span dir="ltr"><<a href="mailto:thelastmammoth@gmail.com" target="_blank">thelastmammoth@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr">I think people interested in D should take a closer look at nim and judge for yourself ; <a href="http://nim-lang.org/tut1.html" target="_blank">http://nim-lang.org/tut1.html</a> is a good starting point (docs in general are very well written).<div><br></div><div>I went through their tutorials and here are some first impressions:</div><div><br></div><div><div>* nim is already bootstrapped (self-compiles)</div></div><div>* feature set is very rich, many features (semantic and syntax) not found in D or improving the ones in D, eg hygenic macros, </div><div>* many key features of D (static if, type inference, CTFE, UFCS, lambda, template constraints). </div><div>* The syntax seems more orthogonal with fewer bultin constructs and many generated by library, eg: 'a>b is a hygyenic macro that generates 'b<a'; associative arrays (tables) are in library</div><div>* documentation in code uses markdown (less noisy than D's)</div><div><div> * named parameter arguments</div><div>* tooling (nimble package manager ~dub, nimfix ~= gofix; nimgrep ~= dscanner);</div></div><div>* etc...<br></div><div><div><br></div></div><div>less good or tradeoffs:<br></div><div><br></div><div>* C backend instead of (LLVM,gcc or dmd's; but they're working on it</div><div>* uses yield-based ranges instead of D-based ranges (maybe simpler to write but less efficient?)</div></div></blockquote><div><br></div><div>Other issues with that: this provides a less flexibility (eg infinite ranges, bidirectional ranges etc)</div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div>* forward declarations needed (docs says this may change)</div><div>* thread-local GC (no stop the world)</div><div>* RAII still experimental it seems</div><div><div>* mutually importing modules seem possible; but doc says: Modules that depend on each other are possible, but strongly discouraged; it's very common in D</div></div><div>* mutually recursive types. In Nim these types can only be declared within a single type section. (Anything else would require arbitrary symbol lookahead which slows down compilation.)</div><div><br></div><div>not sure whether language has those; need to look more in the docs:</div><div>* delegates<br></div></div></blockquote><div><br></div><div>Actually they do have delegates (just not mentioned in the tutorial)</div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div></div><div>* template variadic (but has varargs[T])</div><div><div>* not sure whether we can have template parameters which are other than a type</div></div></div></blockquote><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div><br></div><div>It would be nice to have a wiki page to describe this further feature by feature. Many ideas would be great to incorporate in D too btw.</div></div><div class="HOEnZb"><div class="h5"><div class="gmail_extra"><br><div class="gmail_quote">On Fri, Apr 10, 2015 at 2:26 PM, bachmeier via Digitalmars-d <span dir="ltr"><<a href="mailto:digitalmars-d@puremagic.com" target="_blank">digitalmars-d@puremagic.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><span>On Friday, 10 April 2015 at 18:52:24 UTC, weaselcat wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
The only things I've read about nim have been on the D forums - it seems the wikipedia article is even being considered for deletion due to not being noteworthy. So I think you might have trouble finding any comparisons.<br>
</blockquote>
<br></span>
Read the comments sections on other languages on Reddit programming and you'll see their spam all over the place.<br>
<br>
I've never used Nim (and don't plan to because I've been turned off by their constant spamming of comment threads on Reddit) but the numerous comments I've seen repeatedly indicate that Nim is not yet ready for real use.<br>
</blockquote></div><br></div>
</div></div></blockquote></div><br></div><div class="gmail_extra"><br></div><div class="gmail_extra">I would like to refocus this thread on feature set and how it compares to D, not on flame wars about brackets or language marketing issues.</div><div class="gmail_extra"><br></div></div>