On Sunday, 2 September 2018 at 19:42:20 UTC, bauss wrote:
unmaintainable piece of code:
```
final class ClassName : SoapBinding, Interface
{
public:
final:
this()
{
super();
}
import __stdtraits = std.traits;
static foreach (member; __traits(derivedMembers, Interface))
{
mixin
(
mixin("(__stdtraits.ReturnType!" ~ member ~ ").stringof")
~
" " ~
member ~
"(" ~
mixin("parameters!" ~ member) ~
") { /* Do stuff ... */ }"
);
}
}
```
Sorry to disrupt your threat, but as a lurking in this forum
using D for small projects, and after looking such snippet my
first impression is how D is getting polluted and becoming more
like Java and C++.
"final class", "public final this", "super"...
And of course this is just the beginning, other attributes:
"inout", "@disable", "@system".
And keeps funny when names are somewhat 'synonymous': "shared",
"__gshared"
or like these 3: "@safe", "@trusted", "pure"
or like these 2: "const", "immutable".
And the list goes on and on...
For beginners (Or even average programmers) it would be "very
nice" to not confuse them.
Soma.