Opinions: The Best and Worst of D (for a lecture/talk I intend to give)

Meta via Digitalmars-d-learn digitalmars-d-learn at puremagic.com
Wed Jul 9 07:51:39 PDT 2014


On Monday, 7 July 2014 at 23:47:26 UTC, Aerolite wrote:
> Hey all,
>
> I've not posted here in a while, but I've been keeping up to 
> speed with D's progress over the last couple of years and 
> remain consistently impressed with the language.
>
> I'm part of a new computing society in the University of 
> Newcastle, Australia, and am essentially known throughout our 
> Computer Science department as 'the D guy'. At the insistence 
> of my peers, I have decided to give an introductory lecture on 
> the D Programming Language, in order to expose more students to 
> the increasingly amazing aspects of D. I expect to cover the 
> good, the bad, the awesome, and the ugly, in a 
> complement-criticism-complement styled talk, and while I have 
> my own opinions regarding each of these things, I'd like a 
> broader view from the community regarding these aspects, so 
> that I may provide as accurate and as useful information as 
> possible.
>
> So, if you would be so kind, give me a bullet list of the 
> aspects of D you believe to be good, awesome, bad, and/or ugly. 
> If you have the time, some code examples wouldn't go amiss 
> either! Try not to go in-depth to weird edge cases - remain 
> general, yet informative. E.g. I consider D's string mixins to 
> be in the 'awesome' category, but its reliance on the GC for 
> large segments of the standard library to be in the 'ugly' 
> category.
>
> Thanks so much for your time!

opDispatch is a mostly untapped goldmine of potential. Just take 
a look at this thread, where an (almost, depends on the compiler) 
no-cost safe dereference wrapper was implemented using it: 
http://forum.dlang.org/post/mailman.2584.1403213951.2907.digitalmars-d@puremagic.com

opDisptach also allows for vector swizzling, which is really nice 
for any kind of vector work.

One of the uglier things in D is also a long-standing problem 
with C and C++, in that comparison of signed and unsigned values 
is allowed.


More information about the Digitalmars-d-learn mailing list