D vs nim

matovitch via Digitalmars-d digitalmars-d at puremagic.com
Mon Apr 13 12:16:00 PDT 2015


Sorry if I don't make my point accurately, it's been not so long 
since I started learning English. I often found programming 
language community relates to churchs. I find D to be really 
present on reddit and that’s great because other people can 
discover that wonderful language. But blaming other language for 
doing the same is just plain hypocrite : if it's on top, people 
are interested, it's that simple. That been said I am not 
familiar with nim, but I am really excited about the next 
generation of languages like D and rust. To express my opinion 
about these language and note those are just *opinions*. I think 
D is extraordinary expressive...such a complex language too. From 
a metaprogramming point of view, I am mixed about string mixins, 
the syntax of the 'is' statement (seriously ?), do we need so 
many traits ? Rust opted for type classes over templates 
constraints and ast macros, D had no shame introducing imperative 
programming into the compile time word...it a choice and I kind 
of like even though some might think it's not really pretty. I 
don't like the GC much and I think I wouldn't missed the features 
it allowed, but that won't say I am very grateful about the 
recent improvements (I think it's Martin Nowak to thanks). I 
don't like associative arrays built-in, those are no trivial data 
structure and should be available in phobos. About Phobos, it's 
clearly a big win compare to Rust standard library...for now 
(only...I hope), ranges are plain awesome, algorithm is good. 
Modules, distinction between struct and class, ref and others 
storage classes well that's beyond word : awesome ! Unittests : 
thats political. ;) Foreach is good but why adding an index is 
restricted to built-in arrays and I know about ennumerate, that's 
not the question. Why auto ref arguments taking function should 
be templates (I understand there is a method duplication but that 
is so weird especially not coherent with auto ref *returning 
function) ? I have noticed something about D, sometimes some 
stuff might seems weird at first but often when you dig about it, 
you discover there is a really well thought design choice behind 
it. I don't now rust that much, but I have to admit it looks much 
prettier and a bit less expressive/powerful but again it's D I am 
comparing it to. The two are a great improvement on C++ I get my 
pittance with since four month now, that feels good. A bad think 
about those languages though is that they can also make you kinda 
hate your job sometimes. ;) Well anyway, thanks to all the people 
involved in the design of such heavy machineries as compilers, I 
hope I get more time and experience to help some day (I am more 
in applied maths, so I think I will try to get on this side).

btw : I think D should get rid off un-bracketed if statement, 
programming is not about sparing the number of lines...but that’s 
again a matter of taste.


More information about the Digitalmars-d mailing list