Feedback: using D in production for 3D products
Guillaume Lathoud
gsub at glat.info
Thu Mar 28 06:36:11 UTC 2019
Hello,
Here is some feedback from using D, vibe.d, and small parts of
arsd
to write micro-services to feed 3D products at my company
[1][2][3].
Overall great: expressive code, fun and reliable development
(esp. using CTFE), excellent runtime performance (critical for
3D),
and last but not least, very helpful community.
I put further below a few critics, mostly details where something
could be improved, from my point of view.
Most of our code is closed-source, so for now I can only
contribute
a short, disparate collection of tools [4]. I hope to be able at
some point of time to contribute more, in whatever form that may
be.
Thanks and best regards,
Guillaume Lathoud
.
Where I'd see room for improvement:
(a) When beginning coding, esp. when using rdmd, it was not
obvious
to me how to get a meaningful stacktrace. For example, when I open
the rdmd page [5], I have to go down to the options, open the link
to the dmd page [6], then scroll down and search through the
options
until I find the -g* ones. Probably obvious to seasoned users, but
not necessarily to beginners. A mention on the rdmd page could
help.
(b) Line numbers in errors in string mixins: two line numbers are
given corresponding to the beginning line and the actual error
line,
which is already quite helpful. Often I also need the difference
between the two numbers, to find the corresponding line of the
mixin
source code. That would be a great addition, at least for me.
(c) I don't need to reproduce here the usual rant about the
current
compilation speed of a few particular libraries like std.regex,
when
used. Ironically, I found that cost a lot smaller than
catastrophical slowdowns of the compilation due to my very own
abuse
of the CTFE, which was a bit humbling... and now corrected.
In my experience (a) (b) (c) really are small details, compared to
the positive sides of using D.
[1] 3D video in summer:
https://www.youtube.com/watch?v=R2aZHKa-iuY
[2] 3D video in winter:
https://www.youtube.com/watch?v=qIpnH_NSfS8
[3] Company's main website: https://www.outdooractive.com
[4] https://github.com/glathoud/d_glat
[5] https://dlang.org/rdmd.html
[6] https://dlang.org/dmd-linux.html
More information about the Digitalmars-d
mailing list