3 ms·
It's more of an attempt to provide a better C++, whereas I'd frame Rust or Go as attempts to avoid the need for a C++. D might be for you if you're heavily int
by ben0x539 13y ago
It's more of an attempt to provide a better C++, whereas I'd frame Rust or Go as attempts to avoid the need for a C++.
D might be for you if you're heavily into C++ template metaprogramming and wish it was neater and more expressive and all around more powerful.
- pjmlp 13y agoI would classify both D and Rust as modern languages for systems programming, for those developers that care about expressive languages with meta-programming capabilities and modern type systems. Go is rather what Java 1.0 should have been, 20 years later.
- puppetmaster3 13y agoThis!
- bjz_ 13y ago> modern type systems I would dispute the fact that the type system is the a big draw to D. Whilst it is an improvement on C++, it is still hampered by the fact that it is ultimately descended from the ALGOL lineage. Advanced type systems lie with the MLs and Haskell, languages that Rust's type system is inspired by. What D has over Rust however is its expressive template metaprogramming. Templates have their shortcomings, but they are still a powerful form of static code generation that can really empower library developers.
- pjmlp 13y agoSure, I wasn't putting one against the other, as I like both languages and feel both will appeal to different types of audiences anyway. My main point was that they follow the school that you need expressive type systems, even if as you noted, each has different strengths. And both, each with a different set of mechanisms, allow for some sort of compile meta-programming.