Can D used for BIG-HUGE projects?
sighoya
sighoya at gmail.com
Mon Dec 21 20:16:24 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",
This relates mostly, I think, to using const in class
inheritance. But using them in functions makes pretty sense.
Part of the problem D's initial design as a mutable language like
C, C++ or Java. For instance equals in Object check on mutable
values, but because equals doesn't change any objects their
params should be made const, but that wasn't possible afterwards
due to backward compatibility?
Here are some nice links (the last is a discussion about known
issues):
https://dlang.org/spec/const3.html
https://dlang.org/articles/const-faq.html
https://forum.dlang.org/thread/2735451.YHZktzbKJo@lyonel
>"we haven't developed a concensus yet",
I don't know exactly to which context this refers, nevertheless I
could imagine it refers to the future direction of D. We have a
new project leader atila neves, maybe he knows more about that.
>"we can't convince Walter"
D powerful but conservative these days regarding feature
implementations that change the lang. This can be good or bad.
Most of the time, I feel this is right (especially relating to
D's simple grammar), but not always. But this is an issue in each
language these days and D don't want to become the next C++.
> 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)
Is it possible to develop big projects in D?
yes
Are there any problems to deal with?
yes, like in any language.
For D, I would first define a suitable convention how should be
developed, i.e. which concepts should be used.
I find this to be important because D offers many ways to
implement algorithms.
Did the project tend more to OOP or more to generic programming
or to a mix of boths?
It depends further on your needs, when you are interested in
speed and control, Dlang is the right choice.
It also depends on library support, does D offer the lib I want?
When not, can I link my D app against C++ lib (yes) and what are
the costs to deal with C++ libs+headers or what are the costs to
write it from scratch in D?
Note that D offers some support for C++ integration in the
language.
This is often in Java as Java has everything and is platform
independent whereas D and C++ libs need to be compiled. This
works good in D but is horrible when you compile a C++ project
from source in case you can't acquire any binary.
Maybe you should write something about your needs for your big
project or is this a general question?
If so, D can do it.
More information about the Digitalmars-d
mailing list