My choice to pick Go over D ( and Rust ), mostly non-technical

JN 666total at wp.pl
Sun Feb 4 11:14:43 UTC 2018


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.


More information about the Digitalmars-d mailing list