Can D used for BIG-HUGE projects?

9il ilyayaroshenko at gmail.com
Sat Dec 19 09:53:47 UTC 2020


On Saturday, 19 December 2020 at 09:13:00 UTC, Godnyx wrote:
> I've find a comment in a post comparing C++ with D and someone 
> said that D can't be used for big projects cause you will face 
> problems with it and the community nobody will help you other 
> than "just don't use const", "we
> haven't developed a concensus yet", "we can't convince Walter",
> etc.
>
> Is that true? And if yes can someone make some examples of what 
> problems we're going to face? I'm asking that cause I'm 
> learning programming (I'm close to complete my first year) and 
> I'm planning to use D for big projects in the future and if I'm 
> gonna have problems with that, I would like to know why. Also 
> are there any big D project (rather than Dub and the compilers 
> themselves of course)

Hi,
While working on a big and huge (>100K LOC) projects for Imo 
(messenger), Kaleidic Associates (London), and Tamedia (Zurich) I 
faced with the following problems:

1. GC uses user OS signals that may be incompatible with some 
Linux distributive. But it is possible to overload what signals 
GC should use.
2. A lot of C++ mangling bugs when interacting with C++ code.
3. DMD codegen bugs and segfaults, can be solved if you switch on 
LDC instead. LDC crashes too, but it happens much rarely.
4. Luck of D libraries I can use to work on the project. I solved 
it by working on Mir libraries with other engineers.

http://mir-algorithm.libmir.org/
http://mir-core.libmir.org/
http://asdf.libmir.org/
http://mir-optim.libmir.org/

Also, huge projects can have quite fast compilations speeds if 
they have good architecture and don't use Phobos (except 
std.traits and std.meta). In Phobos, almost everything depends on 
half of Phobos.

Ilya


More information about the Digitalmars-d mailing list