1. 6
  1.  

  2. 2

    I am a bit out of the loop, does this mean that GDC has finally become part of GCC? If so, congrats to Iain Buclaw who has been working on this since years and years! Glad it has finally paid off.

    I was quite impressed with D when I read the D book but I fear that now with Rust it is too late for broad adoption since they seem to serve similar niches.

    1. 3

      Does this mean that GDC has finally become part of GCC?

      Yes, support for the D programming language has been added to GCC, and got released with GCC 9 in 2019.

      1. 1

        I looked at D almost 20 years ago but the fact that the only reliable compiler was the Digital Mars D compiler and it had limited platform support put me off. Now, D has GCC and LLVM front ends that are actively maintained (is the Digital Mars implementation still going?). Rust still has a single implementation (though others are in progress), so D has some advantages here.

        Looking at the Wikipedia page, I think the biggest problem with D is that it is now quite a dated language. It solves problems that I had with C++98 and is very much an object-oriented language. Languages like Rust and modern C++ are very much compromises picking the bits of object orientation, functional programming, and generic metaprogramming that work and letting you adapt them for the problem at hand.

        1. 2

          very much compromises picking the bits of object orientation, functional programming, and generic metaprogramming that work and letting you adapt them for the problem at hand

          Honestly that describes D too. In any case, I wouldn’t say that D is “very much” an OO language. It has OO (Java 5 style) in the language, true, but you don’t have to use it if it doesn’t solve your problem.

          I mean, for example D had ranges before they were cool :)

          1. 2

            There are 2 capabilities that, in my view showed, that D can advance with time:

            a ) Sub-setting the language to have narrower capabilities, in exchange for wider cross-language integration/interfacing opportunities:

            https://dlang.org/spec/betterc.html

            b ) Compile time programming: eg

            https://wiki.dlang.org/User:Quickfur/Compile-time_vs._compile-time

            Certainly, plugging gaps in C++ as a product-roadmap, hindered language formalisms and its runtime. But having the language now to be part of GCC, while still maintaining separate backends – is a big deal, and perhaps could put D closer to the top of the list for some larger projects.

            I also think specifically full-featured compile-time programming, could be a way to integrate a language with a new breed of formal verification tools (although this is just a thought at this point).