On 8/26/2018 5:40 PM, Manu wrote:
By contrast, another colleague tried writing a small game in his own
time. His feedback was that it felt 'fine', but he didn't encounter
anything that made it "simpler than C++", and claimed readability
improvements were tenuous.
He wouldn't show us his code. I'm sure he wrote basically what he
would have written in C++, and that's not how to get advantages out of
D... but his experience is still relevant. It demonstrates that C++
programmers won't be convinced without clear demonstration of superior
expressive opportunity.

Actually, I understand that one. If you look at my conversions of C++ code to D, like this one:

https://github.com/dlang/dmd/commit/8322559195c28835d61c99877ea7c344cb0e1c91#diff-1be391ebabb9f6e11079e1ea4ef1158b

The code looks the same, and in fact, is about 98% the same.

I first learned programming in BASIC. Outgrew it, and switched to Fortran. Amusingly, my early Fortran code looked just like BASIC. My early C code looked like Fortran. My early C++ code looked like C.

The productivity gains of D won't happen until one stops writing C++ code in it, and stops thinking in C++ terms. In fact, one gets irked because one is deep in the rut of how C++ does things, and it's annoying when one is forced to do things a different way in D. Like, why can't I have member function pointers, or friend declarations?

Going the other way, though, is even worse - what do you mean, I have to write forward declarations? Why can't I pass a string literal to a template? No user defined attributes? Why doesn't CTFE work? Who can actually get work done in this language?

Reply via email to