D dropped in favour of C# for PSP emulator

Mehrdad wfunction at hotmail.com
Fri May 11 11:05:57 PDT 2012


On Friday, 11 May 2012 at 17:47:06 UTC, Alex Rønne Petersen 
wrote:
> Complicated language structure? Long compilation times?
>
> wat.

I'd have to agree...

Several things in D are really hard to understand if you don't 
already have a C++ background:

1. "templates": they seem to take in just about anything, and 
return just about anything. They can be pretty confusing, 
especially when you have to worry about overloading vs. 
specialization vs. constraints, or types vs. aliases...

2. Tuples (I'm referring to both tuple() and TypeTuple()) are 
very confusing if you don't happen to suddenly "get" them.

3. Ranges aren't confusing, but USING them certainly is.

    Don't believe me?

    Consider: In C#, you say Array.BinarySearch(arr) to search an 
array.
    It's VERY straightforward.
    In D, it's VERY CONFUSING -- there *is* no way to do this 
directly!
    Which led me to ask this question:
    http://stackoverflow.com/questions/4622377
    and the solution indeed was NOT something I would've found by 
myself
    without spending hours on it (which I already had partially 
done).

4. is(typeof(foo) U) is very confusing; it's completely 
unintuitive

5. For that matter, is() is completely unintuitive

6. The 'in' operator returns a pointer (instead of a boolean). 
Which is fine, except that it's not what you'd expect in any 
languages other than C/C++. i.e. Non-intuitive

7. __traits() are confusing

8. there's more but I just can't think of them right now


More information about the Digitalmars-d mailing list