On Saturday, 13 April 2024 at 13:55:50 UTC, Marconi wrote:
>The fact that C still being used today is a clear sign that all language creators failed badly in not seeing the advantages of C, focused only on the disadvantages and exaggerated creating features that no one cares, creating too much possibilities of doing the same thing, getting only learning difficulties.
This is fallacious reasoning. You can find out if an argument is fallacious by reducing the reasoning to its atomic components or by switching out the subjects of the argument. In order to remove the irrationality once and for all, I have applied your exact reasoning 3 times for demonstrating my point:
The fact that bicycles are still being used today is a clear sign that car manufacturers failed badly in not seeing the advantages of bicycles, focused only on the disadvantages and exaggerated creating features that no one cares, creating too many possibilities of doing the same thing, getting only learning difficulties.
The fact that margarine is still being used today is a clear sign that butter producers failed badly in not seeing the advantages of margarine, focused only on the disadvantages and exaggerated taste and health benefits that no one cares, creating too many possibilities of doing the same thing, getting only learning difficulties.
The fact that dictatorships still exist today is a clear sign that democracies failed badly in not seeing the advantages of dictatorship, focused only on the disadvantages and exaggerated individual rights and privileges one cares, creating too many possibilities of doing the same thing, getting only learning difficulties.
correlation != causation
>What D should be?
C with fat pointers, no header files and a big OO standard library.
That's it. A better C. A new C. 90% C + 5% Cpp + 5% Java.
It already exists, it's called BetterC. You could also just abstain yourself from using the features you don't like without using BetterC that way you can still use the libraries other people wrote. Alternatively, you could make your own language. That's what the creators of C2 and C3 did. Maybe you could call it C4, I'm sure it would explode in popularity with a name like that. Anyways nobody is going to downgrade D just because you don't like extra features that you don't even have to use.
>C++ has the advantage of being compatible, but didn't solve the main pointer's problem.
Java is almost this, but VM was a terrible decision (great only for marketing) and GC is good for bad programmers (sorry).
Dlang displease C/C++ programmers for having GC and didn't get any of Java programmers.
D is also highly compatible with C, more so than most languages if not all of them. It's even able to interface with most other languages directly (like C or C++) or with some tinkering with the advanced features of D (like in the case of R and Rust).
D doesn't displease C and C++ programmers for having a GC. The GC and the runtime are optional after all and writing your own stuff without using the included batteries is the pleasure of most hardcore fans of those two languages. C and C++ programmers dislike D for the same reason they dislike all other languages: D is neither C nor C++. C programmers will only use C and C++ programmers will only use C++. They are not interested in learning any other language.
GC is good for all programmers, talented and terrible. It saves time for the good ones and it saves the bad ones from writing a time bomb. And even the good ones can make mistakes. Memory allocation errors are not always obvious and may go unnoticed for a long time. You're not only required to be good and diligent, you're required to be perfect. You may not commit one single mistake. Nobody's perfect and I'm sure you are far from perfect yourself seeing the level of logic in your reasoning; I'm afraid of what it looks like in your code.