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