Need help?
<- Back

Comments (46)

  • usrbinenv
    I constantly feel like inferior languages are picked up, while superior languages are discarded. It's almost as if the universe had a law: "inferior technology is always preferred no matter how hard you seethe".Examples: * Python preferred over Ruby * TypeScript preferred over Dart or even JavaScript (which is fine and, as a bonus, doesn't require compilation step like TS) * Go is preferred over Crystal and D. While Python, TypeScript and Go are quite alright, there is no doubt in my mind that their alternatives are absolutely superior as languages. Yes, in case of Dart, Crystal and D the ecosystem doesn't have the abundance of well-tested libraries, but as languages they are simply better. The Go argument that it's popular because it's simpler is absurd in the sense that no one really forces you to write complex code and use classes or other advanced OOP features in D.
  • WalterBright
    Currently I'm working on adding an AArch64 code generator to the venerable dmd D compiler. It's fun as it's completely differernt from the X86_64. In some ways very clever and in some ways completely wacky.
  • zascrash
    D deserves more recognition. It's a cool language under the radar for too long. I wish a major corporation backed it. I had a great time learning D. Also I admire Walter Bright If I could achieve even a fraction of his productivity, that would be awesome.
  • shoozza
    Slightly off topic: Is D a good language for creating tiny windows or Linux executables? There is an upcoming game jam (4mb jam 2025) which gives extra points for game submissions <= 8KB. With c you can fit a window with graphics update in an executable of less than 900 bytes[0]. Granted it's using crinkler for linking which does some compression.0: https://gist.github.com/ske2004/336d8cce8cd9db59d61ceb13c1ed...
  • Daunk
    I feel like D is such an underrated language.
  • kingbob000
    Love D! I used it a bit in college when it was required for a programming language class. It's hard to justify using it nowadays though.
  • croemer
    Anything compiled with LDC2 >=1.29 (3y old) will immediately crash/segfault on macOS >=15.4A fix is on master/beta but will still take some time to be released.https://github.com/dlang/dmd/issues/21126
  • bachmeier
    Been a heavy user of the language since 2013. This book was very helpful at the time. I don't think it was a book at that time, though, more a lengthy collection of notes as I recall.
  • nerdralph
    I tried D several years ago, and liked the language. I didn't stick with it because of the lack of libraries compared to perl, python, C++, etc.
  • acehreli
    Author here... AMA.
  • jpecar
    Is D runtime still crashing when host has more than 128 cpu cores? I learned this the hard way ...
  • bsdooby
    One of the best language reference manuals out there...
  • Defletter
    Really wanted to like Dlang but I just did not have a good time with it.One of my projects has a really simple server written in nodejs that's basically (in terms of complexity) just an auth'd chatroom, and I wanted to switch it from using raw tcp sockets to websockets. And since the server is so simple, why not refactor it to another language and see if there's no some performance gains from that? I ended up doing something pretty similar to that "Comparing 10 programming languages. I built the same app in all of them." video from Tom Delalande (https://www.youtube.com/watch?v=-MbTj8DGOP0). I had several working versions of the server in:- Bun, using Bun APIs (https://bun.sh/docs/api/websockets)- Dart, using Dart APIs (https://api.dart.dev/stable/latest/dart-io/WebSocket-class.h...)- Java, using Java-WebSocket (https://github.com/TooTallNate/Java-WebSocket)- Kotlin, using Ktor (https://start.ktor.io/p/ktor-websockets)- Rust, using tokio-tungstenite (https://docs.rs/tokio-tungstenite/latest/tokio_tungstenite/i...)- Zig, using websocket.zig (https://zigistry.dev/packages/karlseguin/websocket.zig/)- D, using serverino (https://code.dlang.org/packages/serverino)And Dlang was, by far, the worst experience out of the lot. Firstly is the lack of adequate, comprehensive, and centralised tooling. I almost gave up when dmd could not even compile a freshly init'd project. The impression I got is that you're not really meant to use dmd directly, you're meant to use dub, like how you compile Java projects with Maven/Gradle, not javac. Except that there's also apparently three competing compilers (https://wiki.dlang.org/Compilers)? And good luck remembering the names of the tooling because they're all some random three-letter combination.Serverino makes heavy use of mixins and attributes (think Java annotations), which is not ideal. But what really killed the deal was (despite using the recommended intellij plugin (https://wiki.dlang.org/IDEs) with the recommended tools installed and setup) not being able to inspect[1] serverino's mixin or its attributes. So I look at serverino's source code, except its source also has mixins... which I can't inspect. I'm not going to use something when I cannot easily ascertain its control flow. And while, yes, I probably should have gone with vibe-d (https://code.dlang.org/packages/vibe-d%3Ahttp) in the first place, mixins and attributes are nonetheless part of the language and the tooling should be able to tell me about them.- [1] When I say "inspect" I mean requesting the IDE to show me the source/definition so I can see what it is, what it does, and where it's known to be used.