Breaking changes in Visual C++ 2015

d user via Digitalmars-d digitalmars-d at puremagic.com
Thu May 7 05:16:17 PDT 2015


On Wednesday, 6 May 2015 at 18:26:27 UTC, Brad Anderson wrote:
> https://msdn.microsoft.com/en-us/library/vstudio/bb531344(v=vs.140).aspx
>
> I'm sharing this specifically so we can have an unproductive 
> flamewar about whether breaking changes in D are sometimes 
> worth it or if they are holding D back from mass adoption :).

the truth is, one of the biggest things holding D back from mass 
adoption is the complete lack of tooling compared to  basically 
every other mainstream language.

Compare D to Go,
https://golang.org/cmd/go/

Go comes with a package manager, a linter, a static analysis 
tool, a formatter. Does D have these in some form? Sure. But you 
have to go hunting for them, and they're OK at best.

And really, the only thing to blame for this is dmd. Go provides 
a Go parser and tokenizer right in their standard library - just 
one of the benefits of their compiler being written in Go.

A lot of D's issues come back to: dmd is long in the tooth. 
Things D used to tout(faster compiler times) aren't really there 
anymore. My _desktop_ has a 8 core CPU - which dmd uses a whole 1 
of when compiling. Due to how modules are compiled, it's _slower_ 
to do separate object compilation like in C++, so it's impossible 
to even get a gain from parallel compilation.

Then you have LDC and GDC which generally lag behind dmd by a 
version or two(usually moreso for GDC,) fragmenting the libraries 
heavily because many new D versions fix tons of bugs. Due to 
dmd's license, it can't even be redistributed on Linux, BSD, etc. 
So now you have compilers for major Linux distros that are 
lagging versions behind. And really, the packages aren't well 
maintained anyways - LDC got blacklisted from Ubuntu for being 
unmaintained.

If there's anything to learn from Go's success, it's that you 
don't need a good language design to be successful. If you want D 
to be successful, submit some PRs to SDC. If you want D to stay 
unpopular, keep moving towards Haskell with braces.


More information about the Digitalmars-d mailing list