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.

Reply via email to