I’ve never used D but this really makes me want to give it a shot. Did anyone try it, and would you recommend using it?

  • glad_cat@lemmy.sdf.org
    link
    fedilink
    English
    arrow-up
    32
    ·
    edit-2
    1 year ago

    I like the idea of the D programming language but I think I’ll never use it:

    • There were issues with multiple compilers in the past and I don’t know if it’s solved.
    • I can do the same in Python.
    • No companies I know use it, which means it would not be useful for me. I’m mostly looking for C++20 or Rust jobs, I wouldn’t know where to find D jobs.
    • D was supposed to be an alternative to Java or C++, but those languages have moved fast in the past few years. C++ is easier than ever and still very powerful, Rust exists if I want safety and low-level simplicity, Kotlin is there and it’s fast too. I don’t know where D fits nowadays and which problem it’s trying to solve.

    The language looks nice, but it feels like it’s in a weird position around all the other languages.

    • gnus_migrate@programming.dev
      link
      fedilink
      English
      arrow-up
      6
      ·
      edit-2
      1 year ago

      DMD is the reference implementation as far as I know, so I don’t think they have the same issue that C and C++ have with regards to needing to have a standard that pleases everyone. I agree that it has an issue positioning itself relative to other languages, but to me D is the good kind of boring. It has most of what you need, there is very little that is surprising in it, if you find yourself needing to do something, probably D has an easy-ish way of doing it.

    • orangeboats@lemmy.world
      link
      fedilink
      English
      arrow-up
      2
      ·
      1 year ago

      I don’t know where D fits nowadays and which problem it’s trying to solve.

      My experience has been similar - it’s hard to categorize the language.

      As a low-level system language like C, C++, Rust, Zig? The garbage collector makes it a hard sell to other people, even though one can opt out of it.

      As a higher-level application language like Java and Go? D frequently gives me a “low-level language” feel, but I am not sure why.

      As a scripting language? I feel like its type system works against the rapid-prototyping coding style commonly seen in scripts.

  • ImpossibleRubiksCube@programming.dev
    link
    fedilink
    arrow-up
    12
    ·
    1 year ago

    D is an incredibly fun language with a reasonable syntax and considerable support for a wide variety of programming paradigms (procedural, object oriented, functional…), while maintaining binary interface compatibility with C and C++. That makes it extremely versatile.

    It is the perfect pet language. The only reason it was never more widely adopted is the quizzical early decision by its makers (Mars) to keep the reference compiler closed source. There an open source compiler too, and it’s good, but it’s effectively black boxing. So, pet language is where the buck stopped, for better or worse.

  • Gnome Kat@lemmy.blahaj.zone
    link
    fedilink
    English
    arrow-up
    11
    ·
    1 year ago

    I been using D for like… 10 years or something. The biggest problem D faces and has always faced is the leadership’s lack of direction. If you lurk their forums you know what I mean.

    I still hope for a D3 one day where the language is redesigned from the ground up, not that D2 is bad but it has a lot of features that never really matured properly. I really truly believe a redesign could clean up all the rougher parts and revitalize interest in the language but my hope will probably never get fulfilled.

    Still use it tho…

  • TheCee@programming.dev
    link
    fedilink
    arrow-up
    10
    ·
    1 year ago

    Between the lack of null safety (which really shouldn’t have been a thing since the 90s), the incapacity in community management and lack of focus of the core devs mentioned by Gnome Kat and glad_cat, I tried Dlang in roughly 2015. It was an OKish experience for trivial tasks, but I noticed the amount of churn in dub packages.

    TL;DR: I would not. And for the same reasons, I wouldn’t recommend Scala either.

  • ZILtoid1991@kbin.social
    link
    fedilink
    arrow-up
    9
    arrow-down
    1
    ·
    1 year ago

    I’m a D developer, and D is so far the best language I’ve tried. It has very powerful meta programming capabilities, looks much nicer than Rust, and supports multiple paradigms. My main gripe is the lack of libraries, but it’s pretty easy to either write your own, or a binding to a C or C++ one. I wrote a couple of my own libraries, and I’m currently writing my own replacement for SDL, called iota, and I aim it to be a smaller version of it (e.g. not including things into it that already exist in the Runtime and Phobos).

    I really like multi paradigm programming, as most programming paradigms are good at a select few things, while over-complicate others.

  • XTL@sopuli.xyz
    link
    fedilink
    arrow-up
    2
    ·
    1 year ago

    If it needs installing and maintaining yet another runtime, it’s not worth it, IMO.

  • exapsy@programming.dev
    link
    fedilink
    arrow-up
    1
    arrow-down
    4
    ·
    1 year ago

    I saw esoterics and heavily opiniated jargon such as .each!writeln; and immediately said … “fuck this”. I don’t wanna learn another shitty scripting language that thinks it’s cool because it created its own esoteric opiniated jargon. A language that isn’t even POSIX standard. Thank you.

    • ImpossibleRubiksCube@programming.dev
      link
      fedilink
      arrow-up
      6
      ·
      1 year ago

      Buddy, there are a heck of a lot of unique non-POSIX languages out there. Are you sure you any being a little knee-jerk here? Remedy Entertainment and Netflix both used it internally for a very long time.