3 ms·
legal D: if(foo) bar(); baz(); A language design bug copied from C. A feature that is good only to add a class of bugs to programs in your
by harry8 9y ago
legal D:
if(foo)
bar();
baz();
A language design bug copied from C. A feature that is good only to add a class of bugs to programs in your language with zero benfit. Perl wasn't tasteless enough to copy that. D designers were, does that convince you they have the right taste to design your systems language?
Alexandrescou is exactly the kind of C++ person D is designed for (and now by). Is the code more important or the data transformation being performed by that code? Garbage collection, same as golang with the same perception that it's a replacement for java/python/ruby/perl not C nor C++ - this will be the perception and they will say "yeah but ..." sure, but that perception is not devoid of merit. "You don't need ..." nup, as an engineer I decide that, I don't want it imposed.
Low level access to raw hardware, zero cost convenient abstractions, no runtime cost imposed by the language, consistent, easy to get right (or at least harder to get wrong, less gotchas). Whatever replaces C & C++ will tick those boxes unless hardware changes dramatically. People believe that D doesn't.
Then there's just practical stuff like using facebook's linter - well you can't, it just doesn't work. https://github.com/facebookarchive/flint https://github.com/facebookarchive/flint
Is the D version even there? Too hard, too alpha, the overhead of a new language needs more to sell it. I haven't yet programmed a line of Rust or Go but both look more compelling.