On 12/11/10, Andrei Alexandrescu <seewebsiteforem...@erdani.org> wrote: > We stand to lose the ability to express designs clearly and in good > detail whichever of the above we eliminate. What do we take away? > > > Andrei >
Nothing. Keep D2 as it is. We have to use D2 for a few years and build some cool apps, before we can figure out if some language feature is truly unnecessary. And that's how we'll know what D3 will look like. I too have found D2's number of keywords a bit too much to digest at first. But then I've realized these keywords are really there to enforce a pattern that was used by convention over the years, e.g. in C++. The keywords are good because: 1) The compiler can help enforce what was only used as a convention before (which is error-prone), and 2) When you read someone else's (or your own) source code you will know for sure what the code actually does, and what it cannot do. I was just reading the GoF book again (I've read it once using C++ years ago) and found it awesome how D directly implements many of the techniques that are enforced by convention in C++. Here was my comment from ycombinator: http://news.ycombinator.com/item?id=1994171