On Friday, 2 February 2018 at 15:06:35 UTC, Benny wrote:
You want to produce PDFs? fpdf 2015-Apr-06, a very limited PDF generation tool last updated 3 years go.



While not as trivial as just using a dub package, D easy interop with C means you can use C libraries for PDF like libharu or w/e.

* Are you targeting C developers?

Sure BetterC is a way towards that but again, what do you offer more then Rust? I see C developers more going for Rust then D on this point. Or hell even Zig or Jai or whatever 3 letter flavor of the month language.


The problem with flavor of the month languages is that people switch to them, play with them for a bit and abandon them. To quote Bjarne Stroustrup: "There are only two kinds of languages: the ones people complain about and the ones nobody uses". Languages like D or Java fall into the "get stuff done" category. They don't try to reinvent programming, they don't use the latest abstract higher order category theory union type lambdas, so they are considered boring by the language-hoppers. That's not a flaw of the language.

Personally I agree that BetterC isn't a good alternative for C programmers. Sure, you get some benefits of D, but you will lose many benefits of C and you'll have to constantly fight "wait, can I use this in BetterC or not" kind of thing.

* Are you targeting Go, Crystal or new language developers?

The irony is that Crystal is already advertised as basically production ready, but there is zero support on Windows whatsoever. So D has a big advantage here :)

I am sure there will be lots of opinions regarding this post but its suffice to say that my decision to go with Go ( no pun intended ) is finally. I hope this final post is some indication of the issues that have plagued my decision process.

I think the comparison was too unfair for D in the first place. All languages evolve. Go actually tried to establish itself as a systems programming language, later establishing itself as a webapp programming alnguage. Rust was pushing GC from the start, only later switching to the whole static analysis borrow checker all the way thingy. HTTP servers is kind of Go's niche, so there is an expectation for all the protocols to be supported and libraries readily available. If you were to say do the same comparison for e.g. game development, Go wouldn't look as favourably.

Reply via email to