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."
Permalink for comment 535057
To read all comments associated with this story, please click here.
RE[6]: C++
by kwan_e on Fri 14th Sep 2012 12:59 UTC in reply to "RE[5]: C++"
Member since:

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