Sergey Gromov Wrote: > Sat, 29 Nov 2008 16:05:31 -0500, dfgh wrote: > > > Warning: this would break existing code. > > > > I have an idea for a completely new template syntax that is easier to > > use and implement. > > It looks nice, and many people already brought this topic up, the > template-function unification. But some changes may be simply too much. > > My experience led me to belief that one should not significantly change > design during a project. You can tweak, polish, cut sharp corners and > drape in different colors, but you shouldn't change the basis. The > problem is, you can never tell whether a particular design was wrong > until you've implemented a finished product based upon that design. And > you can never justify a significant design change because you end up > with nothing to compare to. You have nothing to answer to those who say > you shouldn't have changed anything, except "maybe." Also, if you do > significantly change design, you risk ending up with a half-baked thing > nobody wants to use because it's half-baked and changes too often too > much. This is what happens to D2 to a certain extent, and you must be > really careful now. > > To put this another way, when a change proposed is so significant, > actually getting it into the language becomes much less a matter of > proposal quality and usefulness, and much more a matter of Walter's > personal opinion. I think that the fate of such proposals is to wait > until somebody decides to write another language "better than D." :)
D was created as a new language, to replace many of the uses of C(++). C has an amazing goal: it allows you to do structured programming with high-level concepts while still remaining as close to the machine as possible. C++ sought to improve that by creating further abstractions without losing performance, but C++ was not very well designed. Even in the STL and Boost, there are ugly hacks created to make the language more usable. D exists because people wanted a language like C++, but more elegant. Why stop at only slightly better? D 2.0 is changing quickly, but that is because it is an experiment: what is the best language we can create? D is changing a lot because it is still incomplete and Walter is still trying to perfect it. We don't want a language that people dismiss for being too similar to C++. We don't want a language that, just as it is catching on, will be replaced by someone wanting something "better than D." We want the best of all possible C-like languages. M! y (and apparently others') proposal is not a huge change is goals, it is just a much clearer syntax that would make D much easier to use. --Sam
