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 535041
To view parent comment, click here.
To read all comments associated with this story, please click here.
RE[4]: C++
by kwan_e on Fri 14th Sep 2012 10:01 UTC in reply to "RE[3]: C++"
kwan_e
Member since:
2007-02-18

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.

If I may remind you, you plainly stated that it was preferable (to you) to risk buffer overruns with array management than using slightly more complex but safer features of a language.

That is highly irrational.

Regardless of your views on my views, my participation has nothing to do with irony. I was merely correcting your misuse of the word.


It has everything to do with irony. I just looked up a couple of explanations of the concept "situational irony". This situation fits, and even more so with your involvement.

Reply Parent Score: 2

RE[5]: C++
by dnebdal on Fri 14th Sep 2012 11:10 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[5]: C++
by satsujinka on Fri 14th Sep 2012 13:16 in reply to "RE[4]: C++"
satsujinka Member since:
2010-03-11

If I may remind you, I plainly stated that there is no risk of buffer overflows if you follow correct practices. At no point in time did I encourage unsafe practices. I spelled out for you exactly what must be done. And even with that in mind, it is not only simpler to do it my way but it also produces easier to read and understand code.

You've obviously found poor references for irony. There's simply no expectation that a C project would not be compiled with a compiler written in C++. Thus there cannot be any irony when it happens (and it happens all the time, further removing it from the realm of irony.)

Similarly, my participation is not ironic because there's no basis to expect that I wouldn't participate in correcting a misuse of an overly misused word.

Reply Parent Score: 3

RE[6]: C++
by kwan_e on Sat 15th Sep 2012 13:29 in reply to "RE[5]: C++"
kwan_e Member since:
2007-02-18

If I may remind you, I plainly stated that there is no risk of buffer overflows if you follow correct practices.


You keep forgetting we live in the real world where even the best programmers make mistakes. Do you know what a mistake is? People don't have to intentionally diverge from correct practices to make a security error.

At no point in time did I encourage unsafe practices. I spelled out for you exactly what must be done.


You encourage it by enabling the mindset that people should make security a matter of ego and pride at being able to claim mastery over manual buffer management. Encouraging manual buffer management (because of your dislike of C++) is reckless.

From the point of everyone who is not a developer: they don't care. What they see is a security flaw and their wasted money.

And even with that in mind, it is not only simpler to do it my way but it also produces easier to read and understand code.


Since when has manual anything been simpler and easier?

You've obviously found poor references for irony. There's simply no expectation that a C project would not be compiled with a compiler written in C++. Thus there cannot be any irony when it happens (and it happens all the time, further removing it from the realm of irony.)

Similarly, my participation is not ironic because there's no basis to expect that I wouldn't participate in correcting a misuse of an overly misused word.


What makes it ironic is that Linus Torvalds and people like you have said that C++ is a bad language and that C is preferable to C++. I'm pretty sure the BSD people hold similar views. Then you get compilers written in a language you despise compiling your programs written in a language you prefer over the compiler's implementation language.

Your preferred language has basically become possible only because of a language you hate, and it's happened to the biggest projects with the greatest haters. Irony.

And the "expectation" criteria of irony is not an empirical one but a vaguely narrative one. For example, say we're both watching a movie. Something happens which you don't expect to follow from what has happened, while I fully expected it to because I understand the narrative structure. Does that make not ironic simply because I expected it, even though you didn't expect it and it was certainly the writer's intention of it being ironic?

Of course not. Irony is a literary or narrative property that applies whether or not an actual person actually expects it or not.

Reply Parent Score: 2