On 13 March 2014 15:14, Joseph Cassman <[email protected]> wrote: > On Thursday, 13 March 2014 at 04:57:49 UTC, H. S. Teoh wrote: > >> On Wed, Mar 12, 2014 at 08:01:39PM -0700, Walter Bright wrote: >> >>> On 3/12/2014 6:30 PM, Kapps wrote: >>> >I used to get frustrated when my code would randomly break >every >>> >compiler update (and it shows how much D has progressed that >>> >regressions in my own code are now a rare occurrence), but >unexpected >>> >regressions such as the std.json regression are much >different from >>> >intended changes with plenty of time and warning that provide >an >>> >overall (even if slight in many cases) benefit to the >end-user. >>> >>> I got caught by breaking changes myself. I even approved the changes. >>> But they unexpectedly broke projects of mine, and I had to go through >>> updating & fixing them, supplying updates, etc. >>> >>> It sux. >>> >>> And it's much, much, much worse if you've got lots of legacy code >>> with only a vague idea of how it works because the engineers who >>> wrote it have moved on, etc. >>> >> >> Or you wrote that code but it has been so long ago that you don't >> remember the fine details of it to be able to judge what is the correct >> way to fix it. This doubly sux when the code is for a workhorse program >> that you're actually *using* on a daily basis, which has been working >> just fine for the last 2 years, and now it suddenly doesn't compile / >> doesn't work anymore, and you need it to get something done and don't >> have time to sit down and figure out why it broke (or how to fix it). >> >> >> T >> > > Here here! > > Or even the tooling and environment needed to get it to work are a thing > of the past. Starting to remember some long hours working with old versions > of MS Access on old Windows installations and trying to get them working on > newer versions. Arg! > > Joseph >
Again, this is conflating random breakage with controlled deprecation. A clear message with a file:line that says "virtual-by-default is deprecated, add 'virtual' _right here_." is not comparable to the behaviour of byLine() silently changing from release to release and creating some bugs, or std.json breaking unexpectedly with no warning.
