I have decided to learn the D programming language due to several reasons.

One is just for the sake of learning: mostly my experience comes from Python and Java and I want to get more into the lower level with a system programming language.

Second reason is D’s lower popularity. Unlike Rust, it doesn’t have big corporate backers. The language’s official website however lists many users.
In AAA gaming space only Remedy has used D for its game engine. This somewhat adds a certain nicheness and mystique to the language.

The third reason is that even though learning D will not likely get me a job, I may make my own D projects for hobbyist purposes.

Are there any D programmers? What you think of it? How it fares against C/C++ and Rust?

The official D website

  • copacetic
    link
    fedilink
    arrow-up
    2
    ·
    4 years ago

    I have used D. It certainly isn’t perfect and has some historic baggage even though it is not mainstream.

    As a language, I’d say it is strictly better than C/C++ but of course the ecosystem is not as big and mature. D spoiled me and I miss many features whenever I use C++ at work. You could describe D as C++30 without the baggage.

    Rust is for serious systems programming. In other domains, the rigor imposed by its type system is not necessary and something like Python is fine. The strength of D is that it can cover it all. You can write D in an easy going way and then it looks like Python in terms of lines-of-code and boilerplate. You can also make D code more strict with annotations (maybe even to Rust borrow checker strictness in the future). Best of all, you can transition from easy to strict and also do that only partially for critical parts of the codebase.

    Overall a great language but it seems not that much better than alternatives that it gets the big adoption it deserves.

    • nutomicA
      link
      fedilink
      arrow-up
      5
      ·
      4 years ago

      Rust is for serious systems programming. In other domains, the rigor imposed by its type system is not necessary and something like Python is fine.

      I disagree with this. I admit that getting started with Rust was hard for me, but now that Lemmy is getting big, that has really paid off, because I can make major changes to Lemmy while trusting that the compiler will catch the majority of problems. That wouldnt be possible with a language like Python (neither with Java or C++). I would only use something like Python for small projects.

      Sorry for offtopic.

      • copacetic
        link
        fedilink
        arrow-up
        3
        ·
        4 years ago

        Comparable and bigger projects do use other languages: Hacker News (Arc/Lisp), Lobste.rs (Ruby), Reddit (first Lisp, then Python).

        I’m not sure if we really disagree. If I were to start something like Lemmy, Python would give me a quicker start because I have some Django experience. On the other hand, your argument to use a strictly typed language is a good argument as well. Since Lemmy is growing nicely, you certainly did not make a wrong choice. Way to go!

        • nutomicA
          link
          fedilink
          arrow-up
          4
          ·
          4 years ago

          Its definitely possible to write big projects in any language, but I think that takes much more time for testing and debugging with a language like Python (not familiar with the others).

          And I’m not saying we disagree, I just had to do my mandatory weekly Rust promotion 🤣