Can D used for BIG-HUGE projects?

Marlon marlon at gmail.com
Sat Dec 19 12:16:46 UTC 2020


On Saturday, 19 December 2020 at 11:44:16 UTC, 9il wrote:
> On Saturday, 19 December 2020 at 10:29:11 UTC, Marlon wrote:
>> On Saturday, 19 December 2020 at 10:01:46 UTC, 9il wrote:
>>> On Saturday, 19 December 2020 at 09:53:47 UTC, 9il wrote:
>>>> 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.
>>>>>
>>>
>>> This is true. You can't count on the community. It is a kind 
>>> of luck to get help for really complex issues. I just trying 
>>> to do not rely on Phobos and if I am facing with compiler 
>>> issue the first thing I am thinking is can I work around it 
>>> somehow and without waiting that it would be fixed one day.
>>
>> It's so embarrassing ... tons of argument against the 
>> balkanization of the language, and every MAJOR adopter just 
>> build everything from scratch: Weka, Sociomantic ...
>
> I didn't fork the language. I am backing libraries. It is a 
> different things.
>
>> We have three different Variant and Algebraic implementation, 
>> with different interface, why? Why different interface? Why 
>> not trying to play with the others?
>
> There are four implementations I know. Phobos, Vibe.d, Sumtype 
> and mir.algebraic from mir-core. I have reviewed the first 
> three before I decided it would be faster to write 
> mir.algebraic. Nothing personal, just time & money. I am 
> writing code faster than explaining to people why this and that 
> should be changed that way and not another.
>
>> We have two CPUID implementation, why?
>
> core.cpuid is buggy and has an unmaintainable complex and 
> verbose implementation. And API isn't well as it can be. So, we 
> have mir-cpuid. Why? because I needed a good cpuid library to 
> finish my job.
>
>> I/O? Dozen
>
> Hmm, for example, `io` is @nogc. It is a huge benefit.
>
>> Why core building blocks are duplicated?
>
> For example, Phobos number parsing isn't precise. Phobos lacks 
> the Ryu algorithm for number printing. Phobos uses the C 
> library for more than half of the printing cases. Phobos big 
> integer arithmetic is monstrous and too high level (that means 
> very slow in practice) to the real-world tasks I am working on.
>
>> The fear was the balkanization of the language, and we have 
>> the balkanization of everything else.
>
> Code means nothing. People are everything. Code reflects 
> people's relationships and expertise.
>
>> And 9il and Symmetry were really a whide delusion in having 
>> contributed to that: everyone alone! For what? Be free, as 
>> iLya wrote one time? To not wait, as wrote here above?
>
> Yes, that is the problem. And don't need to blame people and 
> companies that they don't want to spend their time and money 
> investing in Phobos. BTW, Symmetry supports works on the 
> compiler, DRuntime, and Mir. That is the Dlang Foundation 
> problem that people and companies invest in their solutions 
> instead of work together under DLF umbrella. Have you thought 
> of why? Do you really think, for example, I want to create 
> these libraries? No, I wanted to get my job done and go walk 
> with my dog.
>
> The fact is that I did a lot of contributions to Phobos and 
> then I created std.experimental.ndslice, which was accepted. 
> Quite sad. But I don't want to put my efforts into Phobos 
> anymore. I can code because companies pay money, and moving 
> code to Phobos means work more, get less, and play in the 
> sandbox I don't want and don't need to play. If the sandbox 
> needs me to play in, it can change the rules. My experience 
> with current rules was negative but informative.
>
> Ilya

So taking only the good parts, assembled by people that 'spent 
their time' trying to design a coherent and top-class design is 
fine. Playing in the sandbox no, because you design and code 
better and faster than the others. 'Nothing personal, just time & 
money' Bleah again ...

'Code means nothing. People are everything. Code reflects 
people's relationships and EXPERTISE' Clap clap, bleah ... you 
can try to be a little more humble, dude.

Instead of Ilya the Lone Renger, the language needs more people 
like Andrei, with his attitude towards improving things but under 
the same hat, but we know how ended ...

Balkanization, all the way down, like turtles: try to build 
something BIG-HUGE as the author asked, mixing together all the 
different pieces. A little of sumtype, a little of MIR, a little 
of phobos, and a little of vibe ... it's like nitro, handle with 
care!

Atila, knock knock, there's anybody in there? And everyone is 
wondering why D is not growing fast enough?




More information about the Digitalmars-d mailing list