Am 28.04.2012 20:47, schrieb Walter Bright:
Andrei and I had a fun discussion last night about this question. The
idea was which features in D are redundant and/or do not add significant
value?

A couple already agreed upon ones are typedef and the cfloat, cdouble
and creal types.

What's your list?

- two different ways of creating function pointers is confusing (function and delegate)

 I understand the reasoning, but makes one think all the time when
to use what.

- sometimes D code looks like template and mixins gone mad
 While I do appreciate the power, it can be quite confusing to try
 to understand what the code does. Specially with the lack of support
 in mixin's debugging

- __traits should be given a proper name
It looks out of place in regard with the rest of the language, by making use of the underscores

- AA should be a library type
I am on the C++ and Scala camp where the language should be extendable via the library

- misuse of enum to declare constants
  I prefer that the use of const would be possible

- conditional compilation is hard to follow without syntax highlighting
Other languages with conditional compilation make it easier to follow what is what. e.g. Turbo Pascal/Delphi, C#, Modula-3, Ada

- unit tests
  I would rather have them as a library.

While it is fun to discuss what we like and not like, I vote that priority should be given to make the language stable and have better tooling.

We need to have safer languages with native code generation for systems programming in the mainstream OS, that take us away from the buffer overflow exploits and dagling pointers legacy that C and C++ brought upon us.

Someone that does not know D and sees the amount of bugs still existing,
or this type of discussions, will run away to Go or some future version of C#/Spec#/Bartok, or back to whatever he/she was using before.

I don't agree D is complex, any language that aims to be used in large
application domains, needs a certain set of abstractions. If it does not
support them, it is condemmend to keep getting new features until it turns in what the language designers were fighting against.

--
Paulo

Reply via email to