A possible future purpose for D1

Norbert Nemec Norbert at Nemec-online.de
Sun Feb 28 10:45:14 PST 2010


I strongly disagree: Having two versions of the language can only lead 
to confusion.

If there is a need for a "simplified" D, this should be achieved by 
defining D in several levels, not just by branching off the project. The 
simplified D should still evolve alongside with full D and kept in sync.




bearophile wrote:
> I think this comment contains a grain of truth: languages that start simple can gain an user base, and then they can slowly grow more complex:
> 
> http://www.reddit.com/r/programming/comments/b74jv/scala_books_in_general_are_just_not_selling_well/
> 
> The const/nothrow/pure system of D2 is useful, but in practice it's restrictive and a bit fussy too: there are legal and useful D1 programs that just can't be compiled by D2. I have shown a small example problem here (I think this problem can be fixed):
> http://d.puremagic.com/issues/show_bug.cgi?id=3833
> 
> So the D1 language can be useful as ladder to climb to the complexity heights of D2 language. People can learn D1, that's simpler and less fussy. Once they know D1, if they like it and they need it they can learn D2 too. Sometimes you want to use D2 just because you want to create larger programs (while D1 can be fitter for smaller ones).
> 
> If this usage of D1 is more than an illusion of mine, then the future evolution of D1 language can be shaped to help in such didactic/introduction purposes. To do this the D1 can be changed a little, removing some of its features that are absent in D2 (but not all of them, some of them were removed in D2 because of other improvements that are missing in D1), and adding few useful features that are very simple to use and understand, (like struct constructors, that I think (despite increasing the compiler complexity a little) can decrease a little the complexity of the language because they remove a special case, you don't need to remember that structs don't have those constructors).
> 
> Bye,
> bearophile



More information about the Digitalmars-d mailing list