D needs to get its shit together!

Seb via Digitalmars-d digitalmars-d at puremagic.com
Fri Jun 16 03:38:44 PDT 2017


On Friday, 16 June 2017 at 10:12:06 UTC, Wulfklaue wrote:
> On Friday, 16 June 2017 at 06:58:57 UTC, Jacob Carlborg wrote:
>> DVM [1] is doing some of this.
>>
>> [1] https://github.com/jacob-carlborg/dvm
>
> Might it not be better when some of this is actually part of D?

There is an official D installer for Posix systems that can 
handle multiple compilers and all versions quite well.
IIRC does dvm only support DMD?

> - Multi-version support
> - Integrated all the tools so editors know/can rely on them. I 
> have seen this topic a few times reading here.

I think you are just complaining about Windows. Everything is 
nicely packaged under Linux, Posix and OSX.

> - Editor support like half working in a lot of cases

The beauty of D is that you don't need a fancy editor.

> - ...
>
> There are always tools out there to "fix" some issues with D 
> but Mike does have a point in stating that everything feels 
> fragmented.
>
> /++
>
> DMD / LDC are totally different installations. LDC requiring 
> different setup.

Really?

curl i.dlang.io | bash -s dmd
curl i.dlang.io | bash -s dmd-2.072.2
curl i.dlang.io | bash -s dmd-newCTFE
curl i.dlang.io | bash -s dmd-nightly
curl i.dlang.io | bash -s ldc
curl i.dlang.io | bash -s ldc-beta
curl i.dlang.io | bash -s ldc-1.1.0
curl i.dlang.io | bash -s gdc


> LDC is frankly the default if you need real performance but the 
> way its developed / published / talked about, its a side 
> project not a main part of D. And because of that LDC feels 
> like it always needs to cache-up to D mainline.

Are there any features between 2.073.2 (latest LDC beta) and 
2.074.1 that you actually miss?

> Ifs ironic that i needed to use:
>
> dub --compiler=C:\D2\bin\ldc2.exe
>
> To get ldc to work...

--compiler=ldc2 works very well for me.

> If i take a look at Rust ... RustUp great installer, multi 
> platform support, great cross compiling support ( still some 
> issue with dependencies ). Go has the same great cross platform 
> compile support. But D it feels like a struggle to figure out.
>
> Why not publishing Dmd and LDC together as one package, one 
> installation, one version.

Because the top contributors to DMD are unfamiliar with the LDC 
codebase. However, there are ongoing efforts to make the frontend 
accessible as a library.

> /++
>
> Why is dcd, dfmt, dscanner, not part of the base installation 
> of D???

Because there is a very easy way to fetch & build them since DUB 
is part of the release:

dub fetch dscanner
dub build dscanner

There is even a DUB API that tools can use. Too complicated?

> Webfreak wrote workspace-d and is now writing serve-d to 
> combine code-d and the rest. But its again a side project. Its 
> odd there is no default language server protocol for D and it 
> needs a 3th party developer to implement it and then maintain 
> it outside of D again.
>
> So if webfreak gets too busy with life, a breaking change 
> happens in D, there goes the support. Like with many 3th party 
> plugins ...

Don't forget that D is an open source project driven by 
volunteers.

> How about file watching, i know there is a D plugin that 
> monitors your directory and allows for recompiling ( most 
> languages have a feature like this ) but again, its 3th party 
> not part of D mainline, despite it being darn handy.

Because there's​ only so much that can be in a standard library. 
It's way to thick imho anyways. What's wrong with using a DUB 
package?
If it is that common to your work, you can add the project to you 
D include directory.

> D is indeed way too fragmented. Clearly a lot of good 
> developers but the way its handled, it feels like DMD and 
> Phobos are the only focus. And all the rest is side or not 
> integrated. This is just my feeling. And when resources are 
> split like this, it is indeed much more difficult for new users 
> to get going.

Yes because tools come and go whereas a standard library or a 
package manager stays. With the limited volunteers time there's 
only so much that can be done.
And in your free time, you usually work on problems that are 
interesting to you?


More information about the Digitalmars-d mailing list