D vs nim

Timothee Cour via Digitalmars-d digitalmars-d at puremagic.com
Mon Apr 13 10:28:05 PDT 2015


I think people interested in D should take a closer look at nim and judge
for yourself ; http://nim-lang.org/tut1.html is a good starting point (docs
in general are very well written).

I went through their tutorials and here are some first impressions:

* nim is already bootstrapped (self-compiles)
* feature set is very rich, many features (semantic and syntax) not found
in D or improving the ones in D, eg hygenic macros,
* many key features of D (static if, type inference, CTFE, UFCS, lambda,
template constraints).
* 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
* documentation in code uses markdown (less noisy than D's)
 * named parameter arguments
* tooling (nimble package manager ~dub, nimfix ~= gofix; nimgrep ~=
dscanner);
* etc...

less good or tradeoffs:

* C backend instead of (LLVM,gcc or dmd's; but they're working on it
* uses yield-based ranges instead of D-based ranges (maybe simpler to write
but less efficient?)
* forward declarations needed (docs says this may change)
* thread-local GC (no stop the world)
* RAII still experimental it seems
* 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
* 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.)

not sure whether language has those; need to look more in the docs:
* delegates
* template variadic (but has varargs[T])
* not sure whether we can have template parameters which are other than a
type

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.

On Fri, Apr 10, 2015 at 2:26 PM, bachmeier via Digitalmars-d <
digitalmars-d at puremagic.com> wrote:

> On Friday, 10 April 2015 at 18:52:24 UTC, weaselcat wrote:
>
>> 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.
>>
>
> Read the comments sections on other languages on Reddit programming and
> you'll see their spam all over the place.
>
> 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.
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.puremagic.com/pipermail/digitalmars-d/attachments/20150413/8d237566/attachment.html>


More information about the Digitalmars-d mailing list