Tomas Lindquist Olsen wrote:
On Thu, Mar 26, 2009 at 8:17 PM, Walter Bright
<[email protected]> wrote:
Denis Koroskin wrote:
One of the breaking changes that I recall was that you made Posix
identifier built-in and thus any custom Posix versioning became an
error. Not sure if it was introduced in 1.041, though, but it is
still a breaking change.
It was more of a build system change, but I get your point. It shows that
even trivial changes are a bad idea for D1.
Everyone certainly does not think it was a bad idea. If trivial things
like this sets people off, they should at least look at the problem
(and comment those few lines) before complaining.
All my humble opinion of course.
To me, it illustrates a fundamental disconnect. One cannot have both a
100% stable language and yet introduce improvements to it.
As for the does one develop stable code targeting D1 and D2, I would
suggest targeting D1 but be careful to use the string alias for all the
char[]'s, and treat strings as if they were immutable. This will cover
90% of any source code changes between D1 and D2, perhaps even more than
90%. It's also very possible to write D1 code using the immutability
style, in fact, I advocated it long before D2 (see all the old threads
discussing Copy On Write). If code follows the COW principle, it should
port from D1 to D2 with little more than a few cosmetic changes.