June 14, 2015
On Sunday, 14 June 2015 at 11:05:36 UTC, ketmar wrote:
> p.s. i.e. it boils down to simple thing: Walter don't like it. period.
> any rationalizing of that is pointless.

The most sensible thing to do with all these may/may not be an improvement and also the break/don't break my code issues is to create an experimental branch of DMD after the transition from C++ to D is finished. Then merge back the good stuff after several iterations of improvement.

I'm sure Walter will be much more open to changes if there is a proven demand for it, e.g. if people rave about certain features in an experimental branch. Changing the main branch with "might be a little bit better" changes is a hard sell when competing languages are going stable.
June 14, 2015
On Sunday, 14 June 2015 at 11:26:23 UTC, Ola Fosheim Grøstad wrote:
> On Sunday, 14 June 2015 at 11:05:36 UTC, ketmar wrote:
>> p.s. i.e. it boils down to simple thing: Walter don't like it. period.
>> any rationalizing of that is pointless.
>
> The most sensible thing to do with all these may/may not be an improvement and also the break/don't break my code issues is to create an experimental branch of DMD after the transition from C++ to D is finished. Then merge back the good stuff after several iterations of improvement.
>
> I'm sure Walter will be much more open to changes if there is a proven demand for it, e.g. if people rave about certain features in an experimental branch. Changing the main branch with "might be a little bit better" changes is a hard sell when competing languages are going stable.

Not all of them

http://www.reddit.com/r/rust/comments/39f2t7/planned_breaking_change_in_rust_11/

June 14, 2015
On Sunday, 14 June 2015 at 11:33:52 UTC, Paulo Pinto wrote:
> Not all of them
>
> http://www.reddit.com/r/rust/comments/39f2t7/planned_breaking_change_in_rust_11/

AFAIK in the discussions it becomes clear that just about everyone want the change,  but some want the change to be saved for 2.0 out of SemVer principles, not because it affects actual code that is in production.

I wouldn't use Rust until it hits 2.0, but then again, I also wait 1 year to install a new OS...
June 14, 2015
On Sunday, 14 June 2015 at 11:33:52 UTC, Paulo Pinto wrote:
> On Sunday, 14 June 2015 at 11:26:23 UTC, Ola Fosheim Grøstad wrote:
>> On Sunday, 14 June 2015 at 11:05:36 UTC, ketmar wrote:
>>> p.s. i.e. it boils down to simple thing: Walter don't like it. period.
>>> any rationalizing of that is pointless.
>>
>> The most sensible thing to do with all these may/may not be an improvement and also the break/don't break my code issues is to create an experimental branch of DMD after the transition from C++ to D is finished. Then merge back the good stuff after several iterations of improvement.
>>
>> I'm sure Walter will be much more open to changes if there is a proven demand for it, e.g. if people rave about certain features in an experimental branch. Changing the main branch with "might be a little bit better" changes is a hard sell when competing languages are going stable.
>
> Not all of them
>
> http://www.reddit.com/r/rust/comments/39f2t7/planned_breaking_change_in_rust_11/

not really surprising considering rust was rushed out the door, there were no breaks on that hype train.
June 14, 2015
bitwise wrote:

> for at least adding "||" so that code can be shared between platforms?

Sureley it is a pita to write:

version( iOS) version= iOS;
else version( Android) version= Android;
else version= neither;
version( neither) version= neither;
else version=iOSorAndroid;

version( iOSorAndroid){
   // ...
}

-manfred

June 14, 2015
On Sunday, 14 June 2015 at 13:02:03 UTC, Manfred Nowak wrote:
> bitwise wrote:
>
>> for at least adding "||" so that code can be shared between platforms?
>
> Sureley it is a pita to write:
>
> version( iOS) version= iOS;
> else version( Android) version= Android;
> else version= neither;
> version( neither) version= neither;
> else version=iOSorAndroid;
>
> version( iOSorAndroid){
>    // ...
> }

It is, but it is only a 0.0001% source code increase that can be hidden in a config file.

I really hope that the next two release will focus on bugfixes, transitioning to D and refactoring.

If DMD source code was lean D code, it would attract more developers to the compiler. So avoiding changes now would pay off in terms of long term evolution.

You cannot both transition to D and focus on changes. Freeze the feature set...

June 14, 2015
On Sunday, 14 June 2015 at 11:03:49 UTC, ketmar wrote:
> On Sun, 14 Jun 2015 10:35:30 +0000, Joakim wrote:
>
>> It does require more definitions, but it's worth it.  A simple example
>> like yours may seem excusable, but there's no way to limit such logic to
>> just simple instances.  Walter is coming from long experience with this,
>> and even with my limited experience with such logic, I'm grateful for
>> it, as dealing with more complex versions of such logic is a royal PITA.
>
> honestly, if i'll want to have a limited language, i'll take Go. removing
> a power only 'cause it can be abused is not in a "spirit of D", at least
> as i see it. templates can be enormously abused, but noone claims that
> they should be removed, as code without templates sometimes easier to
> follow, and abusing templates can be a PITA.

Walter explained his thinking behind this decision in five comments on this PR:

https://github.com/D-Programming-Language/dlang.org/pull/243#issuecomment-12883555

I agree with him.  You shouldn't be using such logic at the point the code is inserted or elided.  It can get very confusing as you layer on logic and is extremely brittle for anything approaching even a medium-sized codebase.  You may be able to get away with it for a small codebase, but then you really can't complain about repetition, because there isn't much code in the first place. ;)

Of course, there's always a way out: use static if like Etienne did in his linked file.  But that's not a good practice and it's good that Walter is to discouraging it.
June 14, 2015
On Sunday, 14 June 2015 at 12:06:03 UTC, weaselcat wrote:
> not really surprising considering rust was rushed out the door, there were no breaks on that hype train.

I dunno if it was rushed. They have slashed the feature set quite a lot over the years. At some point it makes a lot of sense to set a fixed deadline and stick to it at the expense of expanding the feature set and strongly encouraging bug fixing.

If anything the discussion around SemVer in the Rust community suggests that a lot of people there take language stability very seriously.
June 14, 2015
On Sun, 14 Jun 2015 14:26:25 +0000, Joakim wrote:

> Walter explained his thinking behind this decision in five comments on this PR:

exactly what i told: "I don't like it, so abandon all hope".

June 14, 2015
On Sun, 14 Jun 2015 11:26:21 +0000, Ola Fosheim Grøstad wrote:

> I'm sure Walter will be much more open to changes if there is a proven demand for it

only if he like it. or at least indifferent to it.

"This is true IF you are trying to use version blocks in the same way one does in C. However, that is the stylistically wrong way to do it in D."

that's all. it doesn't matter how loud people would complian, it's "syntactically wrong". period.