The article mentions: "I think that having to use C++ Functors was about the tipping point in our 25-year adventure with C++. Ranges and the foreach loops make our D code so much tidier than our equivalent C++ code."
It almost sounds they were stuck writing C++98 code and instead of moving their coding standard to C++17, they chose to rewrite in D.
> It almost sounds they were stuck writing C++98 code and instead of moving their coding standard to C++17, they chose to rewrite in D.
I think they started their port before C++17 was standardized:
> Also in 2010, a couple of us (PAJ and RJG) living in different parts of the world (Queensland, Australia and Virginia, USA) came across the D programming language ....
> In 2014 we got serious about using D for the next iteration of Eilmer and started porting the core gas dynamics code from C++ to D. Over the next four years, ....
It almost sounds they were stuck writing C++98 code and instead of moving their coding standard to C++17, they chose to rewrite in D.