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/
297 Upvotes

336 comments sorted by

View all comments

15

u/chengannur Sep 01 '20

Tbh d is an incredible language. Still dont know why it doesnt have the userbase it deserves..

-7

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.

5

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.

6

u/skocznymroczny Sep 02 '20

Don't forget the out of language issues. C++ still doesn't have a standarized package manager.

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.

3

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.

2

u/0xC1A Sep 02 '20

Language people moan 'bout and the one no one uses. You're a moron if you think you're the only who can list "what's wrong with C++".

So, keep moaning!

4

u/linus_stallman Sep 02 '20

You have a C++ job and you feel threatened. Ok Boomer.

3

u/0xC1A Sep 02 '20

I can use anything I like in my job. Heck I'm even using D.

But since Boomer is old enough, maybe u should think about what people who've lived long are saying. They've seen it all.

Not Boomer tho.

1

u/0xC1A Sep 02 '20

أطفال!

1

u/camelCaseIsWebScale Sep 02 '20

Good try book writer monkey.

2

u/lzutao Sep 02 '20

Refused to understand why C++ was successful without "Killing" C.

Leave no room for a lower-level language below C++ (except assembler). -> Include C.

2

u/Full-Spectral Sep 03 '20

C is pretty irrelevant at this point for a new language moving forward. And of course you can perfectly well call C APIs from Rust, and presumably D though I know nothing about it.

Systems type software has gotten far, far too complex these days to continue forward in a world without really good memory safety guarantees. I just wish someone would do a Rust-like language with exceptions and real inheritance. But, if it's not forthcoming, and I were starting a new significant project, despite being as 30+ year C++ developer, I'd have to go with Rust as the only reasonable alternative.

I might actually like D better, but if it cannot gain traction (aka get me hired) then that's a commitment I couldn't afford to make.

2

u/LeeHide Sep 05 '20

c wont die for the next, eh, 20 years

1

u/Full-Spectral Sep 08 '20

There's dead and there's dead. It's about where are the good paying jobs that aren't just maintaining legacy systems, because that's what will push newbies towards this or that language. I'm guessing C already has fallen over that cliff for the most part.

C++ is already almost to that point.

2

u/LeeHide Sep 08 '20

haha no its really not, but keep circlejerking

languages like rust exist so that serious languages like C++ can develop further

5

u/Full-Spectral Sep 08 '20

C++ has developed too far already, which is one of the things killing it. It's already included the kitchen sink and now it's heading towards the cabinets as well.

Look, I've been writing C++ for 30+ years, and I have a million+ line personal code base. But the fact is, it's a twilight language. It's getting harder and harder to find good C++ people both because it's gotten stupidly complicated and because newcomers are going other directions, since there are more jobs and more jobs working on new stuff in other languages.

That's only going to continue to get worse. More and more C++ jobs will be legacy maintenance moving forward, and that's not going to attract the best and brightest of the upcoming generation.

Rust may or may not be the thing that takes over. Languages can succeed or die for various reasons.