On Saturday, 23 December 2017 at 09:10:25 UTC, Walter Bright
wrote:
On 12/22/2017 7:23 AM, Russel Winder wrote:
I think we are now in a world where Rust is the zero cost
abstraction
language to replace C and C++, except for those who are
determined to
stay with C++ and evolve it.
Maybe it is. But that is not because D isn't up to the task.
I've converted a large program from C to D (Digital Mars C++'s
front end) with -betterC and it really is a zero cost
abstraction. The memory safety benefits are there (DIP 1000),
RAII is there, nested functions, array bounds checking,
template metaprogramming, CTFE, etc.
D as betterC really is a game changer, for anyone who cares to
give it a try.
I think D's great strength compared to Rust is that it is much
easier to code in D. How easy is it write a simple linked list in
Rust - without using library features? Rust makes even simple
tasks hard to write.
D as a language combines best features of C, C++ and Java which
is great in my view. And the better C option makes it really
viable for creating shared libraries that can be easily used in
other projects.
Trying to replace C is really not the right goal for D I think.
In my experience, C and C++ have already been replaced by Java,
C# or Go in application development except where the code is
legacy and is just being kept "alive". And nothing beats C for
systems developers who want a high level assembler rather than
abstractions and safety features.
In my view, D should be D - the main issue with D is not the
language, but the tooling. It needs to "just work" on the major
platforms and needs good IDE support.
Regards
Dibyendu