How do you use D?

Michael via Digitalmars-d digitalmars-d at puremagic.com
Mon Jul 31 02:31:30 PDT 2017


On Friday, 28 July 2017 at 14:58:01 UTC, Ali wrote:
> How do you use D?
> In work, (key projects or smaller side projects)

I did my undergraduate in CS where I picked up Python, Java and a 
little bit of C/C++, but Java was my most familiar language. When 
I started my PhD in an Engineering Maths department, I picked up 
Andrei's book on D as I had come across the language several 
times earlier but never had a good excuse to pick it up properly. 
My supervisor is more of a mathematician so I did not have any 
dependencies or limitations in the tools I chose to use for 
research. For the first year of my PhD I built models in Java 
with Python for scripting on the side. I was incredibly 
disappointed with the performance in Java, and having been 
learning D on the side during that year, I decided to rewrite it 
using D. I essentially chose D for the one reason many people do 
NOT choose D; I wanted a GC-language that offered a decent level 
of control like C/C++ and was much nicer to write than Java, but 
with the convenience of not having to concern myself too much 
with memory management. I was happy to tune for efficiency, but 
did not want memory management to interrupt my workflow when 
writing a new model. D was perfect for this.

> in your side project, (github, links please)

I've been lazy with side projects since I am always trying to 
work on my maths and writing skills which are pretty lacking 
given my choice of degree.

> Did you introduce D to your work place? How? What challenges 
> did you face?

I've tried to inform people of the merits of D but in this 
department, we're heavily tied to Matlab for teaching. When I 
started, they switched up the undergrad courses and started 
teaching Python as an alternative to Matlab alongside C/Java, but 
there's still a lot of reliance on Matlab. I'd like to see them 
chuck Java and teach C/D but we'll see. At university, there's a 
lot of difficulty in balancing the necessities (C for embedded 
systems/robotics and Matlab for modelling).

> What is you D setup at work, which compiler, which IDE?

I've been a long-time Sublime Text user, using DMD (rdmd is a 
life saver) and that's about it. I'm interested in VS Code with 
the dlang extension though.

> And any other fun facts you may want to share :)

It makes me sad to see so many people disgruntled by the mere 
presence of a garbage collector. I like it a lot and while I am 
completely on board with moving toward making it more optional, I 
am glad it's there and would welcome speed improvements. I think 
there's a balance to be struck between allowing programmers to 
forget about the low-level memory management when writing 
programs and tuning memory management when optimising for 
performance.


More information about the Digitalmars-d mailing list