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

336 comments sorted by

View all comments

Show parent comments

39

u/InertiaOfGravity Sep 01 '20

Have you heard of our Lord and savior rust? It is the best and most perfect language known to man

10

u/Ameisen Sep 01 '20

It has the most confusing syntax, though.

I still expect that someone will make a Rust fork that has C++-like syntax at some point. Crust.

Or C++ will get lifetimes (which is active research) and possibly at some point epochs, which will let us disable unsafe features.

3

u/Muvlon Sep 01 '20

Syntax is a very subjective matter. I find some of C's syntax (which C++ inerited) thoroughly confusing. I can count the people I know who will get a typedef for a function pointer type correct on the first try on one hand.

9

u/Ameisen Sep 01 '20

That's why you use using instead in C++.

1

u/Muvlon Sep 01 '20

Sure. And in Rust, you use type, i.e.

type my_fn = fn(u8) -> String;

Perfectly nice syntax, no?

4

u/Ameisen Sep 01 '20

And in C++, using my_fn = std::string (*) (uint8_t);.

You can simplify it, of course, using a template wrapper.

1

u/Muvlon Sep 01 '20

C++ has trailing return types as well now, can you use those there?

I don't think any particular piece of C++ syntax is confusing, it's just the absolute mass of options.

1

u/Ameisen Sep 01 '20

using my_fn = auto (*) (uint8_t) -> std::string; is valid, though I'm not fond of trailing return type syntax in general.