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

Reply via email to