On Monday, 28 January 2013 at 15:44:28 UTC, Andrei Alexandrescu
wrote:
But D aims at general-purpose programming with only tidbits of
systems-level code. The pure and @safe features are intended to
enable actual reasoning (in the rigorous sense) on portions of
programs or entire programs.
I suppose the same applies also for large size general-purpose
programs. But I have no personal experience in development and/or
maintenance of those, thus have no rights to push for their
interests.
I wonder though, what about "pure" for getters and setters?
Making compiler enforce contract "this function only modifies
class field and has no side-effects other than that" could have
solved reasoning issue.
I understand how you feel though you probably are overstating
it. No language can please everyone, and nobody will be pleased
by all aspects of a language.
Sure, I have said I am raging when thinking about it, makes me
overstate :) Hope no offense done. Still, argument "it has worked
so far" does not really mean that stuff really works good - lack
of alternatives will also do. There are no perfect languages and
I will always use something I do not like - because other
features do matter more.