Am 01.11.2014 um 23:32 schrieb bearophile:
Paulo Pinto:
- arrays were bound checked (just use a compiler flags and dataflow to
remove them like any sane language)
D removes very little bound checks. No data flow is used for this.
- enums were strong typed
D enums are only half strongly typed.
- had namespaces or real modules
D module system has holes like Swiss cheese. And its design is rather
simplistic.
- no implicit type conversions
D has a large part of the bad implicit type conversions of C.
- had a sane macro system
There's no macro system in D. Mixins are an improvement over the
preprocessor, but they lead to messy code.
But I guess D already covers it...
D solves only part of the problems. And you have not listed several
important things. There's still a lot of way to go to have good enough
system languages.
Bye,
bearophile
Maybe I should spend more time playing around with D, instead of just
advocating it.
However JVM/.NET languages with a grain of C++ salt for JNI/PInvoke, are
what my employer and our customers care about, so I can't justify to our
customers any alternatives.
As for the issues, I was being nice to C as those are the issues I find
more problematic.
--
Paulo