D and Nim

anonymous via Digitalmars-d digitalmars-d at puremagic.com
Sun Jan 4 15:17:36 PST 2015


On Sunday, 4 January 2015 at 21:46:09 UTC, Ary Borenszweig wrote:
> On 1/4/15 3:10 PM, 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.
>
> In my opinion Nim is superior than D in every aspect (and I say 
> this as my personal opinion, not to trigger a language war).

You do want a language war because your spewing too much
bullshit. I dabbled in both d and nim/rod. All interesting in nim
is whats taken from d.

> There are examples of D code in these two repos:
>
> https://github.com/logicchains/LPATHBench
> https://github.com/kostya/benchmarks
>
> Take a look at for example the first one in D and Nim:
>
> https://github.com/logicchains/LPATHBench/blob/master/d.d
> https://github.com/logicchains/LPATHBench/blob/master/nim.nim
>
> According to the writeup:
>
> https://github.com/logicchains/LPATHBench/blob/master/writeup.md
>
> Nim is faster than D. And it does so with much less code.

Bullshit. dmd is easy to beat. also json parsing? library issue.

> Then look at kostya/benchmarks: D is always behind Nim (except 
> matuml, where they are similar, but all statically compiled 
> languages are similar in that one). And Nim's code is always 
> shorter and cleaner. (and before you reply to this with "but if 
> you add pure nothrow @safe @abracadabra", continue reading)

Bullshit. Main differences are nim has significant whitespace.
Code looks shorter because theres less {}. Second difference is
nim has code at top level. Great for short benchmarks but aweful
in large code.

> There was a time I liked D. But now to make the code fast you 
> have to annotate things with pure nothrow @safe to make sure 
> the compiler generates fast code. This leads to code that's 
> uglier and harder to understand.

Bullshit. That stuff makes d more modular than nim.

> Another point is that Nimrod has CTFE but does so with a 
> virtual machine, so I'm sure it's faster than D in that aspect.

How does that make the language superior? Bullshit again.

> Then, Nim is written in Nim.

How does that make the language superior? Bullshit again.

> Having the compiler be written in itself is a good way to 
> immediately have the developers of the language get the feeling 
> of the language, find bugs and improve it.

ddmd

> Nim has 363 issues accoring to 
> https://github.com/Araq/Nim/issues . D has 2444 according to 
> https://issues.dlang.org/buglist.cgi?component=DMD&limit=0&order=bug_status%2Cpriority%2Cassigned_to%2Cbug_id&product=D&query_format=advanced&resolution=---

Bullshit. Thats nimrod is less popular than dmd. Jesus i cant
believe you can smoke that.

> . Also, because the compiler is written in itself, everything 
> is garbage collected, so there are no worried when doing CTFE 
> (D's CTFE consumes a lot of memory, I read in this newsgroup). 
> Nim compiles itself in between 2.5 and 5 seconds.

How does that make the language superior? Bullshit again.

> Also, I get the feeling that D has too many features and not 
> all of them work in harmony with the rest of them. So people 
> always find small bugs and others suggest workarounds and 
> eventually people learn to program in a WDD way 
> (Workaround-development-driven).

Also, I get the feeling your bullshitting through your ears.

> Back to LPATHBench, I find things like 
> minimallyInitializedArray and uninitializedArray, which are 
> great for optimizing things, but it's sad that one has to use 
> these special functions instead of regular ones (idiomatic 
> code) to achieve better performance. Also, "uninitialized" 
> sounds unsafe... And then you must compile your code with 
> -noboundscheck to get more performance, but that's so unsafe...

Bullshit.

> But then, both D and Nim have things which I dislike: too many 
> built-in things. Static arrays, arrays, sequences, etc. Can't 
> these be just implemented in D/Nim? Why the need for special 
> built-in types with special operations?
>
> Anyway, just my opinion :-)

Just a load of bullshit.


More information about the Digitalmars-d mailing list