khellendros1984 gave the link to the Stepanov interview, but there's also this and this and this among many others.
OOP is starting to decline now. It's already dropped out of high-performance computing. While Moore's Law hasn't slowed down yet, the clock speed bubble has burst. RAM is larger than it's ever been, but accessing it is more expensive than it's ever been relative to the CPU speed. All those extra transistors are going into more parallelism (SIMD, ILP, more cores, etc) instead of more cycles per second, and OOP is poorly-equipped to exploit this.
The purpose of objects, interfaces, and inheritance is not to do something that couldn't be done before, but rather, to provide useful code organization and visualization so as to minimize developer time and effort.
That's the theory, anyway.
Believe me, I'm a fan of advanced type systems. Interfaces, and IS-A subtyping are useful and important. However, implementation inheritance (as Simula and its descendants understand it) is a broken concept. This is one of the reasons why even OO people alway say to prefer composition over inheritance.
I wish people would stop adding to C++. C++ as it stood in 1998 was a good, if somewhat complex, language.
That's because in 1998, we didn't know that Simula-style objects were deeply unsound.
It's all the features which have been added since then which have made C++ useful. Unfortunately, the main reason why new features tend to be added to C++ is to fix the previous round of features.
I think it's the exact opposite. Apart from their obvious use as a fake module system, objects are by far the least useful part of C++ (and Objective-C).
Should we be happy that these organizations have chosen censorship as a response to abuse?
1. If it's not government if it's not censorship. 2. We should not be surprised that these organisations have to limit their liability as a response to abuse by their users. 3. No, we should not be happy that their users have effectively forced them to do this.
Can we be clear on one thing? Adria Richards did not get Hank Whoeveritis fired. The faceless Internet mob got them both fired.
This woman clearly has not learned a thing in the past 2 years.
I don't know if she correctly remembers what she felt in the moment. However, the incident will, for her, always be associated with actual rape and death threats. Why the hell wouldn't the overwhelming memory from the whole incident be "unsafe"?
What she has learned in the past two years is that the faceless Internet mob will do its best to make every stereotype (about how women and people with lots of melanin get treated in the tech industry) a reality. Whether or not her actions were justified in the moment is irrelevant; the subsequent shitstorm proved her right.
It sounds like the truth is fouled by the touch of the Dark One, like water with a thin slick of rancid oil floating on top. The water is still pure, but it could not be touched without touching the foulness.
The snag with exceptions is that with many embedded systems they may take too much overhead.
This is 100% correct, but the weirdest part is that exceptions were invented for use in hard real-time embedded systems, specifically the operational flight program for the A-7E aircraft. The team (and David Parnas in particular) realised that any piece of hardware could fail at any time, and the plane would have to keep flying, however it was undesirably to clutter the "straight line" logic with all of this error condition stuff.
Will the EFF be the ones who apologize to the families of those killed by attacks that could have been stopped?
Really? Do tell. What are these attacks that have been stopped by mass surveillance and could not have been stopped by good old-fashioned detective work?
Terror attacks are rare in the United States. They are remarkable precisely because they are rare. This is why anti-terrorism powers are overwhelmingly used to investigate non-terrorism offences, and the vast majority of terrorist attacks foiled are ones that they made up.
I have the opposite problem: Qt isn't C++ enough for my tastes. As a general rule, you can't program both in Qt and in modern C++ in the same program. Not without an insulation layer, anyway.
It is perfectly consistent to say that C++ is a "elephantine, feature-laden monstrosit[y]" compared to C, but still prefer C++ to C. Nobody is disputing that it is feature-laden, after all.
Stepanov said it himself: Simula-style inheritance is unsound.
Yeah, I didn't word that well. What I meant is, C++ is better than Objective-C because it isn't an OO superset of C.
khellendros1984 gave the link to the Stepanov interview, but there's also this and this and this among many others.
OOP is starting to decline now. It's already dropped out of high-performance computing. While Moore's Law hasn't slowed down yet, the clock speed bubble has burst. RAM is larger than it's ever been, but accessing it is more expensive than it's ever been relative to the CPU speed. All those extra transistors are going into more parallelism (SIMD, ILP, more cores, etc) instead of more cycles per second, and OOP is poorly-equipped to exploit this.
The purpose of objects, interfaces, and inheritance is not to do something that couldn't be done before, but rather, to provide useful code organization and visualization so as to minimize developer time and effort.
That's the theory, anyway.
Believe me, I'm a fan of advanced type systems. Interfaces, and IS-A subtyping are useful and important. However, implementation inheritance (as Simula and its descendants understand it) is a broken concept. This is one of the reasons why even OO people alway say to prefer composition over inheritance.
I knew that would get voted down. Let's just say I'm in good company.
I was going to say Newspeak, but yeah, Squeak is fine.
Eiffel or Sather would also be good approaches. Don't damage your brain by using languages whose object module is based on Simula.
That's because in 1998, we didn't know that Simula-style objects were deeply unsound.
It's all the features which have been added since then which have made C++ useful. Unfortunately, the main reason why new features tend to be added to C++ is to fix the previous round of features.
I think it's the exact opposite. Apart from their obvious use as a fake module system, objects are by far the least useful part of C++ (and Objective-C).
Hot grits don't looks so good in ASCII art form.
1. If it's not government if it's not censorship.
2. We should not be surprised that these organisations have to limit their liability as a response to abuse by their users.
3. No, we should not be happy that their users have effectively forced them to do this.
Now, out of those factors, you conclude that the 'black, female' attributes are the cause of the shitstorm?
I'm saying that if a white dude (whether Jew or Gentile) had done the same thing, the shitstorm wouldn't have happened.
There are guys call out brogrammer culture all the time. Those stories don't make Slashdot as often, because it it bleeds, it leads.
I think I'm saying that 4chan is (or should I say "was") exceedingly easy to troll into a stereotypical over-reaction, especially by accident.
Can we be clear on one thing? Adria Richards did not get Hank Whoeveritis fired. The faceless Internet mob got them both fired.
I don't know if she correctly remembers what she felt in the moment. However, the incident will, for her, always be associated with actual rape and death threats. Why the hell wouldn't the overwhelming memory from the whole incident be "unsafe"?
What she has learned in the past two years is that the faceless Internet mob will do its best to make every stereotype (about how women and people with lots of melanin get treated in the tech industry) a reality. Whether or not her actions were justified in the moment is irrelevant; the subsequent shitstorm proved her right.
Interestingly, option #2 has the least verbal abuse attached to it.
Fifty Shades of Kernel.
Callentort: Lawyer Which Is Not a Lawyer
It sounds like the truth is fouled by the touch of the Dark One, like water with a thin slick of rancid oil floating on top. The water is still pure, but it could not be touched without touching the foulness.
I think that's a nice way of saying "Oberon".
The snag with exceptions is that with many embedded systems they may take too much overhead.
This is 100% correct, but the weirdest part is that exceptions were invented for use in hard real-time embedded systems, specifically the operational flight program for the A-7E aircraft. The team (and David Parnas in particular) realised that any piece of hardware could fail at any time, and the plane would have to keep flying, however it was undesirably to clutter the "straight line" logic with all of this error condition stuff.
That's true of C, but not of C++. In C++, it's even more crucial to maintain nested scopes because of destructors.
The good news is that destructors make goto-style error handling even less necessary.
Pics or it did happen!
Will the EFF be the ones who apologize to the families of those killed by attacks that could have been stopped?
Really? Do tell. What are these attacks that have been stopped by mass surveillance and could not have been stopped by good old-fashioned detective work?
Terror attacks are rare in the United States. They are remarkable precisely because they are rare. This is why anti-terrorism powers are overwhelmingly used to investigate non-terrorism offences, and the vast majority of terrorist attacks foiled are ones that they made up.
It's a little too C++-ish for my tastes [...]
I have the opposite problem: Qt isn't C++ enough for my tastes. As a general rule, you can't program both in Qt and in modern C++ in the same program. Not without an insulation layer, anyway.
There is a Modula-3?
Indeed there is, and it is an extremely influential language. Java 1.0 is pretty much Modula-3 semantics with a C syntax.
It is perfectly consistent to say that C++ is a "elephantine, feature-laden monstrosit[y]" compared to C, but still prefer C++ to C. Nobody is disputing that it is feature-laden, after all.
Stepanov said it himself: Simula-style inheritance is unsound.
Sorry, left out the cxu. So much for mian putron Esperanton.