Quora: Why hasn't D started to replace C++?

Seb seb at wilzba.ch
Wed Jan 31 11:42:14 UTC 2018


On Wednesday, 31 January 2018 at 10:35:06 UTC, Benny wrote:
> * three compilers

Not sure why that's a bad thing. They all have their ups and 
downs:

- dmd SUPER fast compilation
- ldc multiarch + good optimization + cross-compilation
- gdc multiarch + good optimization (in many cases better than 
LLVM) + cross-compilation + GNU

Doesn't the download page explain this?

https://dlang.org/download.html

If not or you have other reasons why this is a problem, please 
let us know and/or open an issue.
FWIW there are dozens (maybe even hundreds) of C++ compilers and 
no one complains about that.

> And 3 different installation method's depending on the platform.
>
> Windows: DMD installer, LDC manually extract zip and setup 
> path, GDC ...

That's only an issue on Windows.
For Posix there's the official install.sh script [1].

[1] https://dlang.org/install.html

There's WIP to provide a similar script for Windows [2], but man, 
I haven't used a Windows machine in the last seven years - or in 
other words: it's a serious effort to develop something you have 
no idea about, can't test locally and you don't need.

BTW in my experience, the people using Windows are the ones who 
complain the loudest and fix the least. I guess that's the crash 
of different philosophy: MS / Corporate world vs. Unix / Open 
Source world.

I bet that it would take a experienced Windows developers two or 
three hours to write such a script (or add support for installing 
ldc to the installer).

[2] https://github.com/dlang/installer/pull/275

> Let me add a few other issues to your list:
>
> * Library

1) Feedback is very important to us, but please add open issues 
for these things to Bugzilla. Otherwise they get easy lost and 
not everyone is reading every message on the NG.
Not everything obvious to you, is obvious to others.
For example, for a long time it wasn't obvious to me that it's 
bothering people as I prefer "one pagers" - it makes searching 
for symbols easy

2) Are you aware that there's also the ddox build?

https://dlang.org/library/std/datetime/date.html

It's just not the default yet, because of some issues.
However, it has been there for a long time and you can switch 
between both modes with the version switch on the top right.

> You know the extra advantage: It makes finding information from 
> a search engine like Google way more easy and less clutter / 
> clean.

Have you tried the search bar at the ddox build?

> The real problem is that anybody can find 100's of issues that 
> are simply unproductive or make the language look like a mess. 
> And they get reported all the time but there is nobody to work 
> on them.

Maybe for other languages, but for D they don't.

There are about ~30 still open issues reported in 2017 for 
dlang.org and they are mostly just specification things [1].

[1] 
https://issues.dlang.org/buglist.cgi?component=dlang.org&list_id=219211&product=D&resolution=---

> When the company line is: Do it yourself or pay somebody to do 
> it. Guess what the first reaction of a lot of people is.

Well, the time of volunteers is limited and can you blame anyone 
if he prefers to work on things he enjoys instead of fixing your 
UX problems which aren't any problems for him?
That being said, tons of bugs are fixed in every release and 
dlang.org is getting better almost every day:

https://dlang.org/changelog/pending.html

The website repo is one of the lowest traffic repos, 28 PRs have 
been merged just in the last seven days:

https://github.com/dlang/dlang.org/pulse

The activity is a lot higher for Phobos and DMD:

https://github.com/dlang/phobos/pulse (50 merged PRs in the last 
seven days)
https://github.com/dlang/dmd/pulse (41 merged PRs in the last 
seven days

> D is highly individualized as a language with actually very 
> little corporation between the 100's of project, that get 
> abandoned when the only developer runs out of time or moves to 
> a differed language.

Yes, obviously the current situation isn't ideal, but it's not 
too bad either and we have found one good, but probably not so 
well-known yet way to tackle this: the dlang-community 
organization on GH (https://github.com/dlang-community).
A lot of important, but more or less abandoned repositories have 
been adopted, s.t. there's a common place to submit bug fixes and 
feature PRs and its ensured by CIs that they are always in a good 
state, e.g. always compile with the latest DMD.

And companies start to like this concept too, e.g. see this 
recent discussion where Sociomantic volunteered to step in and do 
a proper release process for dfmt:
https://github.com/dlang-community/dfmt/issues/320

> I put a lot of money in several FOSS projects and it always 
> feel like trowing money into a bottomless pit. Very few 
> projects show where there money is being spend,

This is about to change soon for D. There's WIP to use 
OpenCollective
The announcement should happen soon.
Stay tuned!


> While yes, D gets used by some big companies on specific 
> projects, the reality is that this seems to stem more from one 
> developer in that company using D and not a real interest to 
> use it company wide.
>
> D simply has too few people, no real goal, is a mishmash of 
> different people with mostly individualized goals, a lacking 
> and unclear foundation, lacking in paid developers.

Again, of course, the situation isn't ideal, but there are a few 
changes about to happen soon.
Here's a spoiler:

1) Andrei does an excellent job at managing his students [1] and 
there work over the last couple of months has been tremendous. As 
the experiment with UPB was very successful, there will be more 
projects like this one and global scholarship

2) The vision document will finally get updated (there have been 
a few delays due to holiday, illnesses etc.)

https://wiki.dlang.org/Vision/2017H2

3) More community input (I'm preparing a State of D survey atm)

4) More active voting by the community on important issues

5) Better documentation and overview on what the foundation is 
doing

Currently under discussion/work:

6) Using OpenCollective for tracking expenses openly
7) Offering membership packages for companies
8) Doing bi-annual Kickstarter compaigns for important issues to 
the community (e.g. "fix shared")

(more things are WIP in stealth-mode)

> I said it before, i tried getting into D for over a year and 
> keep running into just stupid issues with DMD regressions,

We have setup a project tester a few months ago that tests the 
most popular projects on GH on every PR.

> editor plugins that do not work, unfinished or unsupported 
> projects, just badly designed documentation layouts, ... just 
> everywhere lacking. And with the amount of time trying to get 
> things working, reporting issues on github, ... sigh ... so 
> much time better spend on other languages.

Well, you gotta choose - draining your brain with Rust or 
enjoying working with D and investing the your drain-brain time 
into fixing small usability issues ;-)

> I told before if there is no leadership to focus resources and 
> the main developers are more focused on adding more features to 
> the compiler that is already overflowing, then how do you 
> expect to see things solved?

As mentioned above, there's. However, it's not very visible as a 
lot of work happens in stealth-mode atm and only a tiny bit makes 
it to the DBlog:

https://dlang.org/blog/category/core-team
https://dlang.org/blog/category/d-foundation


More information about the Digitalmars-d mailing list