Why is D unpopular?
Paulo Pinto
pjmlp at progtools.org
Tue May 31 06:54:17 UTC 2022
On Tuesday, 31 May 2022 at 02:07:53 UTC, forkit wrote:
> On Monday, 30 May 2022 at 18:58:38 UTC, H. S. Teoh wrote:
>>
>> ...
>> And D is the only language where having multiple compilers is
>> said to be a bad thing. C, for example, probably has hundreds
>> of different compilers, yet we never hear anyone complain
>> about why C is bad because it has so many compilers. Or C++,
>> for that matter. Yet for D this is somehow one of the biggest
>> nails in its supposed coffin. Tellingly enough, back in the
>> days when dmd was the only compiler, people were singing
>> lamentations on why having only one compiler was bad. And now
>> this. Let the reader draw his own conclusions. ;-)
>> ...
>
> The problem with 'multiple compilers' is the concept of
> 'implementation defined' behaviours.
>
> With a single compiler, implementation defined behaviours,
> which would of course exist, are contained to the 'one'
> compiler, which has obvious benefits for developers, and their
> customers (and C# is a prime example), as well as the compiler
> developers and the language designers.
>
> Of course people like Stroustrup strongly support and argue for
> the idea of multiple compilers, but his views/arguments really
> reflect the legacy of C and C++. I don't know that they are
> relevant to the future ;-)
>
> I don't argue against multiple compilers per se. I argue
> against compilers having 'different' definitions of behaviours
> of the same language.
>
> I would like to understand whether this is also a problem with
> the D programming language (I don't know that it is, but I'd
> like to know). If it is a problem, then (to keep in context
> with the subject of this thread), perhaps it is a reason why D
> is unpopular, given the problems it has created in the C/C++
> world of programming.
C# is not a prime example, Mono/Xamarin, .NET Native, Native AOT,
Meadow, CosmOS, Unity IL2CPP/Burst DOTS,....
Java => OpenJDK, OpenJ9, ExcelsiorJET, PTC, Aicas JamaicaVM,
HP-UX JVM, Aix JVM, microEJ, ART, Ricoh JVM, GraalVM, ...
Python => CPython, JPython, IronPython, MicroPython,
CircuitPython, PyPI, GraalVM Python,...
Go => G9, gcc-go, TinyGo, TamaGo,...
Rust => Rust LLVM, rustc_codegen_gcc, gccrs, Miri, Cranelift
Pascal => Apple Pascal, Turbo Pascal, Quick Pascal, VMS Pascal,
Quick Pascal, Delphi, FreePascal
No it isn't a C problem, rather quite common in the industry for
mature languages.
More information about the Digitalmars-d
mailing list