On Sunday, 4 January 2015 at 18:10:52 UTC, Jonathan wrote:
Hey folks,

I've been recently checking out Nim/rod and feel like it takes a lot of inspiration from D (I think the creator was in the D community too as some point). How do you think it compares? What areas does D, in principle, makes it a better choice? To give you my background, I like creating games (mostly using SDL bindings) using new languages, aiming for the most efficient yet concise way to write the engine and game logic.

FYI, this is NOT a language war thread. I'm just curious about what separates them from a principle level.

D and Nim have similar goals (conciseness, CTFE, other advanced metaprogramming features to reduce code redundancies to zero..), but although Nim has cool ideas it's not without some drawbacks:

- Only limited polymorphism, Nim doesn't use virtual tables but dispatch trees for performance, and that means that you can't have "opaque" base classes running derived methods if the overriding methods are unknown to the compiler:

 http://nim-lang.org/manual.html#multi-methods
 http://forum.nimrod-lang.org/t/278

- No conditional evaluation of code
- No type traits
- Declarations are order-dependent
- Generics are redundant with templates (they are going to be removed though: http://forum.nimrod-lang.org/t/638 )

IMHO the two languages are similar but D is more advanced, and apart from AST macros I don't see any notable appealing features from Nim compared to D.

Reply via email to