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