Are there any default dmd optimizations

foobar foo at bar.com
Wed Feb 27 01:39:58 PST 2013


On Tuesday, 26 February 2013 at 23:37:57 UTC, Andrei Alexandrescu 
wrote:
<snip>
>
> Agreed, but it does happen often that a language feature is 
> later superseded by a generalization thereof.
>
> Andrei

I agree that this does happen. The question is how the language 
evolve with that in mind. Do we choose to preserve *all* previous 
semantics? Do we have a proper deprecation process? etc, etc..
I think that unfortunately, the D design process is not adequate 
as of yet - there is no proper deprecation process which causes 
things like a "sudden death" for previously valid syntax (alias 
syntax) instead of gradually deprecate it with proper 
announcements *everywhere* (website, NG, ..) on the one hand and 
keeping redundant special cases in the language and refusing to 
change semantics (AAs) to allow for an easier path forward, on 
the other hand.

So I think we agree on the spirit of things but the problems I'm 
voicing are about the details or lack thereof. Where are the 
guidelines describing all these issues? How to address required 
semantic changes in the language? how to address syntax changes? 
how to remove previously failed features or no longer needed 
ones? What constitutes a feature that should be completely 
removed and what should only be put on permanent deprecation 
status? How all those things interact?
If we still (after a decade!) decide these based on c++ common 
wisdom only than I think something is really broken here. 
Previously valid D syntax is easily broken without much regard 
yet we are still stuck on the comma backwards compatibility to C. 
We ignore all other languages that programmers migrate from to D 
and ignore their common wisdom and experience. Isn't it time for 
D to become its own language instead of a leech on C++ idioms?


More information about the Digitalmars-d mailing list