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 535045
To view parent comment, click here.
To read all comments associated with this story, please click here.
RE[5]: C++
by dnebdal on Fri 14th Sep 2012 11:10 UTC in reply to "RE[4]: C++"
dnebdal
Member since:
2008-08-27

"Irrational? Hardly. My argument against C++ is/was always about complexity.


There exists other languages that promote complexity much more than C++. eg, Java and C, IRONICALLY. But what makes your arguments irrational are your supporting arguments. It's not irrational to argue against complexity, but it is irrational to bring up irrelevant and downright unsafe practices as proof of a language's unnecessary complexity.
"

I don't know - Java does encourage over-design, but C++ encourages nigh-unreadable template fun and magical mystery action-at-a-distance.

Of course, C++ in the right hands is fine, and it does also depend on what you're coding against (Qt code tends to look good to me), and dash of C++ can remove a lot of pain from a C project.

Reply Parent Score: 2

RE[6]: C++
by kwan_e on Fri 14th Sep 2012 12:59 in reply to "RE[5]: C++"
kwan_e Member since:
2007-02-18

I don't know - Java does encourage over-design, but C++ encourages nigh-unreadable template fun and magical mystery action-at-a-distance.


Nothing about C++ encourages templates. Most of the useful template stuff is already expressed in the standard library. Programmers who aren't cowboy coders won't use metaprogramming - and we must use non-cowboy-coders as a standard candle because cowboy coders can do damage in any language equally.

I would say that RAII prevents most occurrences of mystery action-at-a-distance. Resources have limited scope and are cleaned up once out of scope, reducing chances of mystery action-at-a-distance.

Conversely, Java lacking destructors and relying on cleanup functions being called explicitly in finally blocks fails to improve upon C++ as was the aim. 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.

Reply Parent Score: 2

RE[7]: C++
by moondevil on Fri 14th Sep 2012 14:16 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