19-Dec-2014 18:08, deadalnix пишет:
On Friday, 19 December 2014 at 14:38:02 UTC, Tobias Pankrath wrote:
As for Walter already saying "no" a lot, given how many features D
has, obviously one can still wish he went from 99% "no" to 99.5%. ;)
You don't need to be around the D community forever to feel that D
still has too many features that made it in.

Care to name a few and justify why exactly those features should be gone?

  - lazy . It is completely unable to interact with all qualifier code
that run should be able to have.
  - scope in its current state. Do not ensure anything.
  - in and out parameters.

+1

  - optional parenthesis. They cause confusion and great language
complication in their current form.

Unless there was a way for author to enforce one way of writing it. Which gets us to some useful @properties.

  - Non first class functions. Useless baggage from C and C++, which
only benefit are to complicate the situation with optional () and cause
a large part of the standard lib to go banana when passed a non first
class function via alias parameter.

  - inout. Completely underpowered for its cost, ambiguous and can cause
compiler crash in some ambiguous cases.

I too never understood the appeal of inout. Not only interfaces now allow template final functions but also the bolierplate is easily removed with (template) mixins.

  - most of traits. They are completely inconsistent, for instance, some
return aliases, some return strings and there is no way to really know.
  - __parameters. Yes, this is a keyword.

That's just baggage that's far less destructive.

That is what you get you add half assed feature to solve an immediate
problem, but don't look at the broader picture.



--
Dmitry Olshansky

Reply via email to