Simplifying templates
dfgh
dfgh at mailinator.com
Sun Nov 30 08:20:11 PST 2008
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. My (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
More information about the Digitalmars-d
mailing list