My Long Term Vision for the D programming language

bachmeier no at spam.net
Tue Nov 16 22:46:24 UTC 2021


On Tuesday, 16 November 2021 at 21:00:48 UTC, Robert Schadek 
wrote:

> I fully understand that D is a community project and that we 
> can not tell the
> bulk of the contributors to work on issue X or milestone Y, but 
> we could ask
> them nicely.
> And if we follow our own project planing, they might just 
> follow along as well.

That's exactly the reason you need to lay out the plan clearly. 
It's a lot easier to get someone to contribute if they see the 
benefit. Feeling as if you're wasting your time is not motivating.

> ## phobos
>
> Batteries included, all of them, even the small flat strange 
> ones.

I agree. But only if the batteries are high quality (bug-free) 
and high quality (make it easy to do the important tasks). 
Otherwise it's better to leave them as third-party libraries that 
are simple to add to your project.

> ### GC
>
> To summarize, GC and GC only.

I'm not sure about "GC only", but yes, D is only relevant if it 
has a GC. Going after the GC-free segment of the market is like 
releasing OpenBSD-only binaries. It's just too small to be worth 
the effort, especially with a well-funded competitor already in 
that space.

> ### betterC
>
> betterC is, at best, a waste-by-product, if we have to use 
> betterC to write
> something for WASM, or anything significant, we might as well 
> start learning
> rust right now.

We don't want to promote it, but it does have an appeal to 
current C programmers, who often prefer an updated version of C 
to learning a new language.

> ### ImportC
>
> ImportC must have a preprocessor, or it is DOA.
> Shelling out to gcc or clang to preprocess, makes the build 
> system horrible
> which in turn will make the compiler library daemon thing 
> difficult to build.
> This is also important for the language interop, as I imagine 
> that most
> interop will go through a layer of C.
> When ImportC can use openssl 1.0.2s or so it is good enough.
> Having done some usage of openssl recently, my eyes can not 
> un-see the
> terribleness that is the openssl usage of C.

It makes sense to publish preprocessed versions of popular C 
libraries as Dub packages/standalone files that can be included 
in D programs. This can, to some extent, be done with what we 
already have.

Finally, on interop, there should also be support for R, Matlab, 
Julia, and Fortran. D is a natural fit for data processing. It 
also would not be that hard, since all of those languages are 
designed to work easily with C libraries. And all but Matlab (not 
sure about that one) are easy to call from D.


More information about the Digitalmars-d mailing list