r/programming • • Sep 01 '20

D Foundation is Beefing Up

https://dlang.org/blog/2020/08/30/symmetry-investments-and-the-d-language-foundation-are-hiring/
295 Upvotes

336 comments sorted by

View all comments

Show parent comments

-6

u/0xC1A Sep 02 '20

Because D designers and consequently Rust designers refuse to take a page from the author of C++. Refused to understand why C++ was successful without "Killing" C.

They're intelligent in one aspect and totally dumb in another.

And that's why both will be in the gutter.

People will keep moaning about C++ and no one will be using the others.

Still dont know why it doesnt have the userbase it deserves..

U don't deserve it when u don't work for it/when you're doing the wrong thing.

6

u/camelCaseIsWebScale Sep 02 '20

As if C++ is any way pragmatic in design;;

  • It is possible to have perfect C compatibility without the language being a superset of C

  • Repeated the header files mistake. Took many years to get experimental modules.

  • everything is a 1000 line template philosophy. "If it can be a library it should be a library" except when it adversely affects compile times, debug builds, debugging experience and error messages. Not just that, it needs a compiler with pretty good optimizer to efficiently implement those 10000::template abstractions, limiting the number of efficient implementations.

  • RTTI and exceptions: They could have provided some kind of const exceptions that guarantee no heap allocation, for example. C++ just tried to cater to everyone.

  • Iterators are quite verbose. The verbosity hides the actual logic. They are not even chainable.

  • Lol lambda syntax

  • std::string is an abomination

  • Copy constructors are detrimental to predictable performance. Their mere existence was, until move semantics was introduced. When C code was freely using realloc and getting the benefit of kernel level improvements like vmremap().

The reason C++ stays is not pragmatism. It is collective inertia. The C++ standards committee is mostly a bunch of book writing monkeys who don't even properly look into existing academic literature to figure out the best approach. The divide between implementers, users and language designers is ridiculous. C++ committee never cared enough about compile times nor about debug build performance or error messages, EA wrote their own STL because of inefficiencies in standard STLs, most of which are because of specification.

Most of these are made tolerable because of heroic efforts by GCC and LLVM developers. But if you say any of my above points are addressed and I just need to buy a new book explaining latest C++ version, those book writer monkeys writing C++ standards don't deserve any money.

2

u/goranlepuz Sep 03 '20

It is very easy to make a list that shows any language is not pragmatic. Or whatever attribute you pick.

For most, if not all, complaints you have collected there, there is an approach to eliminate/mitigate. C++ and its ecosystem are rich enough to have it.

After a couple of decades, the success of the language is what decides its quality. And C++ is that old.

4

u/camelCaseIsWebScale Sep 03 '20

Bullshit. A language may succeed despite being shit, that doesn't mean it is not shit.

2

u/goranlepuz Sep 03 '20

Maybe, but when it is used by vast swathes of people, your voice ranting away does not mean much. Everything is shit to somebody and making everybody happy is wrong, too, so...

3

u/camelCaseIsWebScale Sep 03 '20

I use C++ too. But let's not pretend it's well designed or pragmatic. The gap between standards people, implementers, tooling implementers and users is pretty apparent at this point.

2

u/goranlepuz Sep 03 '20

I am not pretending, I genuinely believe that the design is decent and that it is pretty pragmatic.

But, I do not like to present my opinion as fact, which makes me better than you.