Linked by R_T_F_M on Thu 13th Sep 2012 21:19 UTC
FreeBSD "For the past several years we've been working towards migrating from GCC to Clang/LLVM as our default compiler. We intend to ship FreeBSD 10.0 with Clang as the default compiler on i386 and amd64 platforms. To this end, we will make WITH_CLANG_IS_CC the default on i386 and amd64 platforms on November 4th."
Thread beginning with comment 535061
To view parent comment, click here.
To read all comments associated with this story, please click here.
RE[7]: C++
by moondevil on Fri 14th Sep 2012 14:16 UTC in reply to "RE[6]: C++"
moondevil
Member since:
2005-07-08

Conversely, Java lacking destructors and relying on cleanup functions being called explicitly in finally blocks fails to improve upon C++ as was the aim.


Since Java 7 you can make use of try-with-resources, which pretty much covers the RAAI scenarios.

Overreliance on inheritance as a way of extending functionality is error-prone, and in Eclipse, for example, often requires looking at code of the superclass to make sure your extensions don't break it. That's extreme mystery action at a distance.


Blame the programmers, not the language.

I can also give examples of C++ frameworks, which rely on inheritance to death, coupled with nice touches of multiple inheritance.

Reply Parent Score: 3

RE[8]: C++
by kwan_e on Fri 14th Sep 2012 15:19 in reply to "RE[7]: C++"
kwan_e Member since:
2007-02-18

"Conversely, Java lacking destructors and relying on cleanup functions being called explicitly in finally blocks fails to improve upon C++ as was the aim.


Since Java 7 you can make use of try-with-resources, which pretty much covers the RAAI scenarios.
"

You still need to make it explicit with a statement. RAII operates as soon as you acquire the resource. The benefit of C++ RAII is that it's automatic.

"Overreliance on inheritance as a way of extending functionality is error-prone, and in Eclipse, for example, often requires looking at code of the superclass to make sure your extensions don't break it. That's extreme mystery action at a distance.


Blame the programmers, not the language.

I can also give examples of C++ frameworks, which rely on inheritance to death, coupled with nice touches of multiple inheritance.
"

But you're the one who brought up extreme mystery action at a distance, which only exists due to programmers, not the language. You also blamed the language for abuses of templates by programmers. You can't have one standard for criticizing one language and a different standard for another.

I'm blaming the language insofar as that at least C++ templates (I much prefer Ada generics I freely admit) provide a viable alternative. Java generics are tacky add ons.

Java the LANGUAGE itself has an overreliance on inheritance, so I don't need to blame the programmers. I would always encourage programmers to write in the way the language designers intended the language to be used (which is inheritance up the yin yang for OO dominant languages), even if the language is badly designed.

Reply Parent Score: 2

RE[9]: C++
by moondevil on Fri 14th Sep 2012 16:02 in reply to "RE[8]: C++"
moondevil Member since:
2005-07-08

WTF are you smoking?!

Is your anger to Java, a tool, so big that you don't see to whom you're replying?!

Reply Parent Score: 3

RE[9]: C++
by mightshade on Fri 14th Sep 2012 16:57 in reply to "RE[8]: C++"
mightshade Member since:
2008-11-20

Java the LANGUAGE itself has an overreliance on inheritance

What do you mean? Can you elaborate on this a bit? *curious*

Reply Parent Score: 2