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.digitalmar...@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.