On 31/07/2017 8:22 AM, Maxim Fomin wrote:
Hi!
Good to see D is progressing! I was active forum and bugzilla
participant in 2011-2013. Since then I have not touched D.
What is the progress of D (2014-2017) in following dimensions:
1) Support of linking in win64? AFAIK Walter introduced win64 support in
circa 2012 which was the big progress. However, support for win64
linking was limited because dmd defaulted on old dmc linker, and Walter
didn't plan to do anything with this.
Optlink is still the default. MSVC link can be used for both 32bit and
64bit.
2) What is the support of other platforms? AFAIK there was progress on
Android. From my memory recollections, the full support of Android was
expected at that time.
3) What is the state of GC? AFAIK there were some improvements for GC
sent as GSOC projects but they were not added in 2013. I see in the
changelog that there are some improvements in speed and configuration
support was added.
4) What is the state of GDC/LDC? GDC team was actively working on
including gdc in gcc project. Do gdc and ldc still pull D frontend, so
there is essentially 1 frontend (where gdc and ldc frontends lag several
versions behind) + 3 backends? I see in the changelog some dmd backend
improvements. How the dmd backend is compared with C++/GDC/LDC? AFAIK in
2013 there was a tradeoff: either you use dmd with brand-new frontend or
gdc/ldc where performance is comparable to gcc, but frontend lags
behind. Is it still true?
5) What is the progress with CTFE? I see a lot of discussions in forum
archive devoted to the development of CTFE. What is the summary of CTFE
development in recent years?
New implementation by Stefan for the purposes of making it faster and
cheaper.
6) I don't see any significant changes in D core from dlang
documentation (except those mentioned in changelog for 2014-2017). Is is
true or is the official spec as usual delayed :)? Is dlang spec fully
and frequently updated or is it sparse as in the past? Is TDPL book
still relevant?
7) Is UDA still compile-time? Are there plans to make it also runtime?
No runtime reflection has been added during this period (unfortunately).
8) What is the progress with shared and immutable? AFAIK the compiler
support for shared was not complete and Phobos library itself was not
'immutable-' and 'shared-correct'.
9) Does D gains popularity?
Considerably. Downloads for dmd per day.
http://erdani.com/d/downloads.daily.png
10) Anything else 2013 D user must know? :) I don't ask about Phobos
because according to the changelog the progress is enormous,
incremential and targets several directions - I doubt it can be easily
summarised...
Thanks!