View mode: basic / threaded / horizontal-split · Log in · Help
March 10, 2012
Re: Breaking backwards compatiblity
On Saturday, 10 March 2012 at 09:17:37 UTC, Jonathan M Davis 
wrote:

> And actually, when _responsiveness_ is one of the key features 
> that a desktop
> OS requires, a stop-the-world GC in a desktop would probably be 
> _worse_ than
> one in a server.

My point is, every operation, even a mouse movement is already a 
stop-the-world event for all the "modern" operating systems i 
have encountered and Linux manages to take this to ridiculous 
levels.
March 10, 2012
Re: Breaking backwards compatiblity
Walter:

> What breaking changes are there in C++11, other than dumping export?

The end of the talk (just before the questions) about Clang of GoingNative2012 has shown one breaking change of C++:

#include <iostream>
struct S { int n; };
struct X { X(int) {} };
void f(void*) {
 std::cerr << "Pointer!\n";
}
void f(X) {
 std::cerr << "X!\n";
}
int main() {
 f(S().n);
}



% clang++ -std=c++11 -g -o cxx11-4 cxx11-4.cpp
% ./cxx11-4
Pointer!
% clang++ -std=c++98 -g -o cxx11-4 cxx11-4.cpp
% ./cxx11-4
X!


But in the end I don't care for C++11 here, my post here was about D and several bug reports that are able to break user code once fixed or improved. If you raise the bar too much for breaking changes now, most of those things will never be fixed or done. And this is _not_ acceptable for me.

Bye,
bearophile
March 10, 2012
Re: Breaking backwards compatiblity
On Saturday, 10 March 2012 at 06:53:49 UTC, H. S. Teoh wrote:
> Really? D is a stable language as of this moment? Interesting.

Yeah, it is. It removes restrictions or sometimes adds stuff,
but over this last year, not much of the language has actually
broke.

I have a lot of D code, some of it rather fancy, and I can't
actually think of a place where a *language* change broke it.

Library changes break it almost every other release, but language
changes tend to be ok. There's regressions every so often,
but they aren't bad.


> You mean Windows 3.1.

You're insane! D rox my sox right off my cox and has
for a long time, and it has been getting pretty
consistently better.
March 10, 2012
Re: Breaking backwards compatiblity
On Sat, Mar 10, 2012 at 10:30:46AM +0100, so wrote:
> On Saturday, 10 March 2012 at 09:17:37 UTC, Jonathan M Davis wrote:
> 
> >And actually, when _responsiveness_ is one of the key features that a
> >desktop OS requires, a stop-the-world GC in a desktop would probably
> >be _worse_ than one in a server.
> 
> My point is, every operation, even a mouse movement is already a
> stop-the-world event for all the "modern" operating systems i have
> encountered and Linux manages to take this to ridiculous levels.
[...]

Huh??! Since when is mouse movement a stop-the-world event on Linux?
I've been using Linux for the past 15 years and have never seen such a
thing.


T

-- 
Some ideas are so stupid that only intellectuals could believe them. -- George Orwell
March 10, 2012
Re: Breaking backwards compatiblity
On Saturday, 10 March 2012 at 15:19:15 UTC, H. S. Teoh wrote:
> Since when is mouse movement a stop-the-world event on Linux?

It's a hardware interrupt. They all work that way. You have
to give a lot of care to handling them very quickly and
not letting them stack up (lest the whole system freeze).
March 10, 2012
Re: Breaking backwards compatiblity
On Sat, Mar 10, 2012 at 03:34:48PM +0100, Adam D. Ruppe wrote:
> On Saturday, 10 March 2012 at 06:53:49 UTC, H. S. Teoh wrote:
> >Really? D is a stable language as of this moment? Interesting.
> 
> Yeah, it is. It removes restrictions or sometimes adds stuff, but over
> this last year, not much of the language has actually broke.
> 
> I have a lot of D code, some of it rather fancy, and I can't actually
> think of a place where a *language* change broke it.

Well, the slated @property enforcement *will* break a lot of stuff...


> Library changes break it almost every other release, but language
> changes tend to be ok. There's regressions every so often, but they
> aren't bad.

OK.


> >You mean Windows 3.1.
> 
> You're insane! D rox my sox right off my cox and has
> for a long time, and it has been getting pretty
> consistently better.

You're right, D *does* rock in spite of its current shortcomings. It's
easy to see only the flaws when you're just focused on fixing problems,
but it's true that when I take a step back and compare it with, say,
C/C++, there's simply no comparison. Even with all its warts, D is
unquestionably superior in pretty much every way.


T

-- 
"The number you have dialed is imaginary. Please rotate your phone 90
degrees and try again."
March 10, 2012
Re: Breaking backwards compatiblity
On Sat, Mar 10, 2012 at 04:23:43PM +0100, Adam D. Ruppe wrote:
> On Saturday, 10 March 2012 at 15:19:15 UTC, H. S. Teoh wrote:
> >Since when is mouse movement a stop-the-world event on Linux?
> 
> It's a hardware interrupt. They all work that way. You have
> to give a lot of care to handling them very quickly and
> not letting them stack up (lest the whole system freeze).

Sure, but I've never seen a problem with that.


T

-- 
This is a tpyo.
March 10, 2012
Re: Breaking backwards compatiblity
On 10-03-2012 16:28, H. S. Teoh wrote:
> On Sat, Mar 10, 2012 at 04:23:43PM +0100, Adam D. Ruppe wrote:
>> On Saturday, 10 March 2012 at 15:19:15 UTC, H. S. Teoh wrote:
>>> Since when is mouse movement a stop-the-world event on Linux?
>>
>> It's a hardware interrupt. They all work that way. You have
>> to give a lot of care to handling them very quickly and
>> not letting them stack up (lest the whole system freeze).
>
> Sure, but I've never seen a problem with that.
>
>
> T
>

A GC world stop is much more severe than a simple interrupt... This 
comparison is completely insane.

-- 
- Alex
March 10, 2012
Re: Breaking backwards compatiblity
Adam D. Ruppe wrote:
> On Saturday, 10 March 2012 at 15:19:15 UTC, H. S. Teoh wrote:
>> Since when is mouse movement a stop-the-world event on Linux?
> 
> It's a hardware interrupt. They all work that way. You have
> to give a lot of care to handling them very quickly and
> not letting them stack up (lest the whole system freeze).

	So? It's not stop-the-world. While one core is handling the
interrupt, the other(s) is(are) still running. A stop-the-world GC
would need to block all threads on all cores while running.

		Jerome

PS: This is nothing restricted to Linux. Windows, MacOS X and the
*BSDs have the same behaviour.
-- 
mailto:jeberger@free.fr
http://jeberger.free.fr
Jabber: jeberger@jabber.fr
March 10, 2012
Re: Breaking backwards compatiblity
On Saturday, 10 March 2012 at 15:27:00 UTC, H. S. Teoh wrote:
> Sure, but I've never seen a problem with that.

I used to back on Windows 95. You could work
that computer hard enough that the poor thing
just couldn't keep up.
3 4 5 6 7 8 9 10 11
Top | Discussion index | About this forum | D home