4 ms·
> Not different enough to be worth switching from Java/C++ with their much bigger and more established communities. Companies using Java or C++ don't switch be
by bachmeier 5y ago
> Not different enough to be worth switching from Java/C++ with their much bigger and more established communities.
Companies using Java or C++ don't switch because a language is "sufficiently different". I've been involved in programming language discussions for decades and I've never heard of a company switching to a language because it was different from what they were already using, though being too different is a common reason for not switching.
{For those not aware, D has intentionally kept compatibility with C as a priority, to the point that you can set a compiler flag and restrict yourself to "betterC". You can translate C code to D without making many changes to it.}
- mhh__ 5y agoThe D compiler speaks C11 now, it'll be ready for prime time in two or three releases based on speaking to Iain and Walter.
- WalterBright 5y agoJust added C11 anonymous structs last night!
- mhh__ 5y agoI saw, as long as the code stays clean I think we're going to be kicking ourselves this only happened now.
- WalterBright 5y agoSo far, it's shaping up nicely. I am indeed kicking myself for not doing it a while ago, but I'm a better programmer now than then, and it's going to be a better job.
- pornel 5y ago"Different" is not a reason to switch, but "not different enough" is a reason not to switch. When switching is costly, the potential upside must be big. When the other language seems similar, the upside also seems limited. When there are few differences, you can rationalize staying with the old language, because it may catch up with the features, or you can emulate the missing features, or just live without them, if the differences are small.
- bachmeier 5y agoThis is getting into a fuzzy area where one person's big difference is another person's small difference. I'd consider D templates to be a small difference from C++ templates in terms of the language[1] but big enough in terms of productivity that it would make sense to start a new project in D over C++ for that reason alone. [1] A random commenter on HN might well conclude that there's no benefit to D's templates without using them.