Why D is not popular enough?
Seb via Digitalmars-d
digitalmars-d at puremagic.com
Thu Aug 18 16:19:02 PDT 2016
Hei John, I read over the first part of your message and it seems
that same information you got is quite outdated:
On Thursday, 18 August 2016 at 22:50:27 UTC, John Smith wrote:
> Well there are some things I feel could be improved, a lot of
> the things are really just minor but what is a deal breaker for
> me mostly is the compilers. The GCC and Clang implementations
> are really far behind in terms of the version, so they are
> missing a lot of features. A lot of the features that I'd want
> to use D for.
That's not true for LDC - it's on par with the latest DMD version
since a while now. It might be that the version shipped with your
Linux distribution is a bit outdated.
http://forum.dlang.org/post/uxupejapglpeokaiqqjg@forum.dlang.org
> In the download section it also says "good optimization" but it
> honestly isn't. I rewrote a small portion for one of my
> projects to test out D but looking at the assembly a lot of it
> was questionable. I'd say DMD probably produced the best
> assembly but then there's the problem that it doesn't support
> MMX instructions.
That's weird - LDC allows great optimization, see e.g. these two
benchmarks:
https://github.com/kostya/benchmarks
http://forum.dlang.org/post/zxkkjezakirlfepndjxk@forum.dlang.org
> Even on 64-bit it still uses the FPU, which I can't really use.
> The FPU isn't consistent enough for simulations that run on
> separate computers and different OSs that need to be synced
> through a network.
Inconsistent FP math is a known issue, but most likely a
fusedMath pragma will be added soon:
http://forum.dlang.org/post/hjaiavlfkoamenidomsa@forum.dlang.org
https://github.com/ldc-developers/ldc/issues/1669
> Anyways for some more minor things. I really don't like
> __gshared, why couldn't it just be named "gshared" instead.
> Don't like how that naming convention is used in C/C++ either
> but I feel here in D it is completely out of place. Nothing
> else uses a preceding "__" and from the documentation it looks
> like it's made to stand out cause it shouldn't be used. But it
> is used a lot, and it wouldn't be possible to do certain things
> without it. I forget but the dynamic library loader for D,
> derelict, is one such case.
Yep you are correct about the motivation: __gshared got its ugly
name to remind
the programmer about the dangerous world he wades into.
There are usually safer & more elegant ways, e.g.:
http://tour.dlang.io/tour/en/multithreading/std-parallelism
http://tour.dlang.io/tour/en/multithreading/synchronization-sharing
http://tour.dlang.io/tour/en/multithreading/message-passing
More information about the Digitalmars-d
mailing list