View mode: basic / threaded / horizontal-split · Log in · Help
March 10, 2012
Re: Breaking backwards compatiblity
On Saturday, 10 March 2012 at 03:33:42 UTC, Mantis wrote:
> What should be the type of a?

int. I'm for using @property to disambiguate
in any case.

That's a clear benefit.

I'm against the strict enforcement where it
forces you to choose parens or no parens at
the declaration site (what -property does).
That's just pointless bikeshedding that
breaks perfectly good code.
March 10, 2012
Re: Breaking backwards compatiblity
On 3/9/2012 2:56 PM, Jonathan M Davis wrote:
> Do you have any specific ones in mind? There were a number of them to try and
> make it so that names were more consistent with regards to camelcasing and the
> like, but those changes have largely stopped (or at least are well into the
> deprecation process if they haven't been completed yet).

I've voiced my objections to changing those names before. I know it's a done 
deal now.
March 10, 2012
Re: Breaking backwards compatiblity
On 3/9/2012 4:02 PM, Andrej Mitrovic wrote:
> Linus would probably hate D just as much as he hates C++. :p

It's clear to me from Linus' postings that he would not be interested in D. And 
that's ok. He's doing what works for him, and it's hard to argue with his 
success at it.
March 10, 2012
Re: Breaking backwards compatiblity
On 3/9/2012 3:09 PM, Nick Sabalausky wrote:
> Keep in mind, too, that Linux has decades of legacy and millions of users.
> That's a *very* different situation from Phobos. Apples and oranges.

Linux has had a habit of not breaking existing code from decades ago. I think 
that is one reason why it has millions of users.

Remember, every time you break existing code you reset your user base back to zero.

I'm *still* regularly annoyed by the writefln => writeln change in D1 to D2, and 
I agreed to that change. Grrrr.
March 10, 2012
Re: Breaking backwards compatiblity
On 3/9/2012 3:14 PM, bearophile wrote:
> D will naturally progressively slow down the rhythm of its new breaking
> changes, but even very old languages introduce some breaking changes (see
> some of the changes in C++11),

What breaking changes are there in C++11, other than dumping export?
March 10, 2012
Re: Breaking backwards compatiblity
On 3/9/2012 4:12 PM, Adam D. Ruppe wrote:
> The -property switch is a big mistake that breaks a
> lot of code.

It was done as a switch to see how much it would break and if that was worth it.
March 10, 2012
Re: Breaking backwards compatiblity
On Saturday, 10 March 2012 at 04:34:15 UTC, Walter Bright wrote:
> Linux has had a habit of not breaking existing code from 
> decades ago. I think that is one reason why it has millions of 
> users.

If you want to see someone who takes compatibility
seriously (and all the way to the bank), take a look
at Microsoft Windows.

I don't like developing Linux apps much, nor to a lot
of professionals, because it's binary compatibility is
a joke.

Yeah, the kernel is decent about it, but the rest of the
system sure as hell isn't. You're lucky if you can take
a Linux binary and use it next month, and certainly not
ten years from now.

(For example, take dmd out of the box on CentOS. Won't
work.)


On Windows though, even if you relied on bugs twenty
years ago, they bend over backward to keep your app
functioning. It is really an amazing feat they've
accomplished, both from technical and business
perspectives, in doing this while still moving
forward.
March 10, 2012
Re: Breaking backwards compatiblity
On Saturday, 10 March 2012 at 04:40:11 UTC, Adam D. Ruppe wrote:
> Yeah, the kernel is decent about it, but the rest of the
> system sure as hell isn't.

Let me tie this into D. A couple weeks ago, I revived one of
my work D projects - about 30,000 lines of code - that was
dormant for about a year.

The language worked fine. The library was a bit more of
a pain.

std.date's deprecation still makes me mad.

And the move of std.string.replace over to std.array meant
not one of the modules compiled without a change.

(Really easy change: "import std.string : replace;" why
that works and  "import std.string;" doesn't I'm not sure.
I'm probably relying on a bug here!)



But still, the D language manages to move forward without
much breakage. dmd pretty much gets better each release.


Phobos has some breakage though. Not really bad; updating
this code went quickly. I think I spent half an hour on it.
But, there was some minor changes needed.



We might have a stable language, but if the library doesn't
do the same, we'll never be Windows.
March 10, 2012
Re: Breaking backwards compatiblity
On Saturday, 10 March 2012 at 00:02:44 UTC, Andrej Mitrovic wrote:
> Linus would probably hate D just as much as he hates C++. :p

Rather then using ones influence to make a better language (C) it 
is much easier to bitch about attempts made by others.
March 10, 2012
Re: Breaking backwards compatiblity
On 3/9/12 8:35 PM, Walter Bright wrote:
> On 3/9/2012 3:14 PM, bearophile wrote:
>> D will naturally progressively slow down the rhythm of its new breaking
>> changes, but even very old languages introduce some breaking changes (see
>> some of the changes in C++11),
>
> What breaking changes are there in C++11, other than dumping export?

Deprecating exception specifications :o).

Andrei
1 2 3 4 5 6 7 8
Top | Discussion index | About this forum | D home