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
    30
    ·
    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.

  • Gnome Kat@lemmy.blahaj.zone
    link
    fedilink
    English
    arrow-up
    10
    ·
    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
    8
    ·
    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
    7
    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.