4 ms·
I told myself a similar thing : why did they create a new language instead of picking that one ? But then i saw the list of features that D has, and remembered
by bsaul 13y ago
I told myself a similar thing : why did they create a new language instead of picking that one ?
But then i saw the list of features that D has, and remembered the reason why Rob Pike said he wanted to stop using C++ when he saw the new C++ version : "so they thought C++ needs MORE ?".
- qznc 13y agoYes, D is not a small and simple language. The goal as stated at DConf was to be "comprehensive". D shall include the right tool for any job in system programming. That necessary includes that the programmer has lots of options. You can use threads or fibers. You can meta-program with various degrees of freedom (and danger) up to generating arbitrary code strings during compilation. You can use high-level parallelism tools like parallel map and thread pools. You can explicitly use SIMD operation for instruction level parallelism. You can have a garbage collector or you can disable it. On the other hand, D fixes a few problems of C++ (which mostly come from C source code compatability) like ambiguous syntax for templates (Is ">>" a shift-right token or two closing "parens"?).
- gtani 13y agoIn the back of Stroustrup 4th ed, there's a list of at least a couple dozen things Stroustrup considers problems arising from C back compatibility, but I don't have the book with me
- WalterBright 13y agoC++'s template syntax is not a result of C source code compatibility.
- qznc 13y agoSo why did they not pick something better like foo!(a,b) instead of foo<a,b>? Because parsing was not as well understood as it is today?