News for hackers. Stuff that matters.
Re:Nvidia Security Team: “What if we just stopped using C?” by zamalek on Monday November 07, 2022 @11:29AM (#33507998)
> I do see comments like yours a lot - there's an emotional attachment and/or ego attached to the comment

Could you explain how it's emotional? It comes across as a pretty logical analogy to me - the author isn't suggesting that they don't like C (which would be categorically emotional), they are comparing it to phasing out something unsafe in another industry.

Re:Nvidia Security Team: “What if we just stopped using C?” by ectospheno on Monday November 07, 2022 @11:36AM (#33508115)
A truth stated passionately doesn’t become false. A falsehood stated calmly doesn’t become true. This is at the heart of why emotion is always a logical fallacy.

Everyone would be better served by using and hearing it less. Focus on the actual argument.

Re:Nvidia Security Team: “What if we just stopped using C?” by zamalek on Monday November 07, 2022 @11:41AM (#33508221)
I am neurodivergent, so I may be missing something here. The argument seems pretty passionless. Excluding the assumption that C is unsafe, it contains purely facts.

Your reply doesn't point out the passionate component of it either, and doesn't answer my question.

Re:Nvidia Security Team: “What if we just stopped using C?” by ulfbert_inc on Monday November 07, 2022 @11:44AM (#33508262)
Analogy is not an argument.
Re:Nvidia Security Team: “What if we just stopped using C?” by nvrspyx on Monday November 07, 2022 @12:00PM (#33508556)
Sure it is, depending on the analogy and the purpose of the analogy. An analogy also isn't always fallacious. It needs to have a faulty extrapolated assumption from the comparison.

In this particular case, the argument is that C should be replaced with something safer for similar reasons that asbestos is replaced with something safer. However, one can certainly challenge the validity of this comparison and whether there's something faulty in it.

I don't feel one way or the other because I don't work with C or other low-level languages, but it's a bit absurd to say that an analogy isn't an argument. It absolutely can be if the argument within is clear, even if fallacious.

Re:Nvidia Security Team: “What if we just stopped using C?” by ulfbert_inc on Monday November 07, 2022 @12:12PM (#33508742)
Thanks for clarifying. I meant valid, non-fallacious argument.

More often than not I see analogies (ab)used as a tool to construct a straw man. This particular case demonstrates how analogy takes discussion away from merits and downsides of C to an emotionally charged subject of cancerogenic substances, as other commenters highlighted in this thread.

Re:Nvidia Security Team: “What if we just stopped using C?” by nvrspyx on Monday November 07, 2022 @12:45PM (#33509266)
Personally, I don't think it's the commenter's fault that some others have such strong emotions to the analogy that they're distracted from the point. There's no indication that the commenter was appealing to emotion and, as others have also pointed out, making a comparison to an "emotionally charged" subject does not nullify the validity of the comparison. In fact, it's fallacious to falsely invalidate the argument based on some cherry-picked, subjective, peripheral perspective like that. In my opinion, the appeal to emotion and the derailment of the discussion is from those doing so, not the original commenter.

It seemed like just a simple, general, easily-mappable analogy that most people would get, even non-programmer laymen, that emphasizes that unsafe should be replaced with safe. Any analogy of something unsafe can be seen as "emotionally charged" if someone was personally impacted by it.

Re:Nvidia Security Team: “What if we just stopped using C?” by zamalek on Monday November 07, 2022 @11:45AM (#33508280)
That still doesn't point out the emotion in the comment. Your reply here would work as a reply to the root comment, but doesn't address what I am asking at all. Where is the passion?
Re:Nvidia Security Team: “What if we just stopped using C?” by Jtsummers on Monday November 07, 2022 @11:48AM (#33508327)
Asbestos is an emotionally charged topic for many people, especially the many who have (primarily) older relatives who have died or are dying from cancers caused by it. The analogy is resting primarily on the appeal to that kind of emotion without actually establishing a strong logical similarity between C and asbestos.
Re:Nvidia Security Team: “What if we just stopped using C?” by macintux on Monday November 07, 2022 @11:58AM (#33508520)
> Asbestos is an emotionally charged topic for many people, especially the many who have (primarily) older relatives who have died or are dying from cancers caused by it.

I’ve not personally been impacted by this, but this seems reasonable.

> The analogy is resting primarily on the appeal to that kind of emotion

This seems like projection. It struck me as a perfectly legitimate analogy without any emotional correlation.

Re:Nvidia Security Team: “What if we just stopped using C?” by Jtsummers on Monday November 07, 2022 @12:04PM (#33508617)
I don't know, C isn't out there causing cancer and killing people left and right. It's hyperbolic to draw that comparison. Critical systems (especially post Therac-25) that are using C are already using a subset of C, static analysis tools, and comprehensive testing that raise the quality level of actual life-and-health-impacting C programs.

EDIT: Because someone will probably make a note of it: Therac-25 wasn't written in C, but the flaws in that system and others helped lead to a massive change in the way critical systems are developed and treated. I referenced it because it's one of the most notable failures in safety-critical software systems.

Re:Nvidia Security Team: “What if we just stopped using C?” by macintux on Monday November 07, 2022 @12:14PM (#33508773)
It’s fine to argue that the analogy is flawed (all of them are) or that it’s irrelevant, or simply wrong.

What this entire thread is about, however, is this highly charged response to what seemed like a straightforward analogy.

> Frankly getting your knickers in a knot is emotional - the people using C are doing so for pragmatic reasons, not emotion. > I do see comments like yours a lot - there's an emotional attachment and/or ego attached to the comment, so the argument against is very vociferous and, honestly, ugly[1].

Re:Nvidia Security Team: “What if we just stopped using C?” by zamalek on Monday November 07, 2022 @01:15PM (#33509735)
At the end of the day it seems as though an emotional argument occurred in the eye of the beholder. This only adds even more credibility to the root comment.

A failed experiment with the Socratic method on my part.

Re:Nvidia Security Team: “What if we just stopped using C?” by zamalek on Monday November 07, 2022 @11:52AM (#33508397)
That makes sense, thank you.
Re:Nvidia Security Team: “What if we just stopped using C?” by Gibbon1 on Monday November 07, 2022 @03:28PM (#33511926)
Also point out that there is nothing that can be done to fix asbestos. But C can be made safer. The three things that block that are

1 A culture that thinks API's need to always have a gotcha. See the inability to to field a safe string copy.

2 ISO commitee that thinks it's in charge of maintaining a historical artifact. Suggestions to change the language like Brights suggestions about passing arrays fail because the ISO committee thinks that's Heresy.

3 People that think C is hopeless. Usually these are people that had a bad time with it in school.

4 Idiots that think the only reason to use C is speed. Therefor any improved way of doing things that might be 10-20% slower than raw unsafe code is pointless.

Re:Nvidia Security Team: “What if we just stopped using C?” by rcarr on Monday November 07, 2022 @08:01PM (#33514728)
Where does this argument end? Are we banned from using analogies containing animals because someone out there has a relative who died from a bear/shark/bee sting? Are we banned from talking about cows in a debate with vegans because someone lost a loved one when they were out hiking and got caught up in a cattle stampede? Are we banned from mentioning cars because everyone knows someone who had a traumatic car injury? By this logic you either end up molly coddling the entire world into silence because everything is a possible traumatic trigger to somebody or you declare yourself the king of acceptable debate and only the topics you approve of are acceptable because you are the chosen one anointed by the heavens.
Re:Nvidia Security Team: “What if we just stopped using C?” by Jtsummers on Monday November 07, 2022 @10:32PM (#33515606)
What a bizarre comment.
Re:Nvidia Security Team: “What if we just stopped using C?” by rcarr on Tuesday November 08, 2022 @07:39AM (#33518398)
It’s a classic reductio ad absurdum which is bizarre by nature. It shows that silencing people for discussing things you personally find upsetting is a slippery slope that leads to absurd or undesirable endpoints.

https://en.m.wikipedia.org/wiki/Reductio_ad_absurdum

https://en.m.wikipedia.org/wiki/Slippery_slope

Re:Nvidia Security Team: “What if we just stopped using C?” by ulfbert_inc on Monday November 07, 2022 @11:49AM (#33508342)
Fine, but that leaves us with passionless non-argument. How is it helpful?
Re:Nvidia Security Team: “What if we just stopped using C?” by wiseowise on Monday November 07, 2022 @12:54PM (#33509422)
Unsafe C is a fact, there’s no need for an argument in their comment.
Re:Nvidia Security Team: “What if we just stopped using C?” by naasking on Monday November 07, 2022 @12:56PM (#33509433)
> Analogy is not an argument.

Just for sake of clarity, formal analogy is a valid, non-fallacious argument because it's based on parity of reasoning.

The original comment made a pretty good, arguably formal analogy between asbestos and C. The only way to dismiss the conclusion is if there were no alternative to asbestos, then you're kinda forced to use asbestos. This is the case for C in some contexts, like some microcontrollers that only come with C compilers. It's not generally true that we need C for much else though.

Re:Nvidia Security Team: “What if we just stopped using C?” by pjmlp on Tuesday November 08, 2022 @03:32AM (#33517128)
There is seldom a microcontroller that also doesn't have a Basic or Pascal compiler from https://www.mikroe.com, but naturally that is an additional cost that many would rather not care about.
Re:Nvidia Security Team: “What if we just stopped using C?” by IncRnd on Monday November 07, 2022 @01:16PM (#33509755)
> Analogy is not an argument.

"An analogical argument is an explicit representation of a form of analogical reasoning that cites accepted similarities between two systems to support the conclusion that some further similarity exists." [1]

[1] https://plato.stanford.edu/entries/reasoning-analogy/

Re:Nvidia Security Team: “What if we just stopped using C?” by lelanthran on Monday November 07, 2022 @02:03PM (#33510586)
> I am neurodivergent, so I may be missing something here.

Yes, you're missing the logic.

> Excluding the assumption that C is unsafe, it contains purely facts.

You think C is carcinogenic and mere exposure to it kills?

From a "purely facts" PoV, leaving all emotion aside, C runs, and has done so for a number of decades, life-critical systems, including munitions, weapons, life-support, industrial machinery and aviation.

It's only because you are married to your argument that you think comparing C to a fatal poison is "pure facts".

Re:Nvidia Security Team: “What if we just stopped using C?” by lukeck on Tuesday November 08, 2022 @03:51AM (#33517254)
I interpreted the original comment as saying that C is detrimental to the long term health of a piece of software in a similar way to how asbestos is detrimental to the long term health of humans.

I don’t think there was any suggestion made that C is detrimental to human health.

[dead]
Re:Nvidia Security Team: “What if we just stopped using C?” by zamalek on Monday November 07, 2022 @11:51AM (#33508376)
Sure, maybe the analogy isn't logical.

> It's also logical to kill young children with autism so they don't become a financial or emotional burden on their family or society as a whole. It turns out claiming something is logical isn't, itself, enough of a reason to do something and those doing so should endeavor to give more convincing arguments.

That's an analogy, and we are talking about a programming language - not humans.

Again, where is the passion in the original comment? I have asked for nothing more than that.

Re:Nvidia Security Team: “What if we just stopped using C?” by P5fRxh5kUvp2th on Monday November 07, 2022 @11:57AM (#33508476)
> That's an analogy, and we are talking about a programming language - not humans.

Is it your supposition that asbestos was banned for non-human reasons?

Or does this "logic" only work when convenient for your own defenses?

Re:Nvidia Security Team: “What if we just stopped using C?” by tryauuum on Monday November 07, 2022 @01:33PM (#33510051)
I hate all analogies with physical world, because the person tends to pick up the most emotional one. It's emotional because they picked the thing that makes my lungs bleed. C, with all its flaws, doesn't damage my physical health.

You call it a logical analogy, how an analogy can be logical?

EDIT: and I hate analogies because, since they suck, someone will try to come up with a better analogy. And now we have a thread where people compare C to asbestos, then they compare C to a fire in kitchen. Not a kind of thread I would like to be in.

Re:Nvidia Security Team: “What if we just stopped using C?” by rcarr on Monday November 07, 2022 @03:39PM (#33512076)
How can you hate all analogies with the physical would? How do you propose somebody learns something completely abstract without any physical counterpart whatsoever. How do intend to teach people something as simple as numbers without using your fingers or some other quantity of items in the world.

Vast quantities of language is built on analogy. Streaming, the internet, the World Wide Web, Starship. The word “cycle” comes from the Latin for “circle”. The list goes on.

I struggle to even comprehend how someone can hold this opinion. Have you ever tried instructing anyone in anything?

Re:Nvidia Security Team: “What if we just stopped using C?” by oska on Monday November 07, 2022 @06:19PM (#33513928)
> Vast quantities of language is built on analogy. Streaming, the internet, the World Wide Web, Starship.

These are metaphors, not analogies. [1]

The GP is cautioning against argument by analogy, not the use of metaphorical language. Problems and conceptual traps engendered by argument from analogy have been raised for thousands of years, indeed probably ever since formal discussion of language and reasoning have been recorded.

[1] https://prowritingaid.com/analogy-vs-metaphor

Re:Nvidia Security Team: “What if we just stopped using C?” by rcarr on Monday November 07, 2022 @07:38PM (#33514583)
Yes but the metaphorical name has obviously come about through a simile or analogy. Like a ship but in space going to stars. We can understand a cycle through looking at how we draw a circle etc. The words themselves are metaphors but when you explain them to a child for the first time you do it through similies and analogies. They’re intrinsically linked.

And I’m firmly in the camp that it is fine to use analogy in debate. Rarely do people claim when they make a comparison that it is a one to one mapping. Just that there are possible insights to be gleaned from the comparison which could potentially mean that we may be able to solve problems in one domain using similar solutions to the existing domain.

Take this quote for example:

> I hate all analogies with physical world, because the person tends to pick up the most emotional one. It's emotional because they picked the thing that makes my lungs bleed. C, with all its flaws, doesn't damage my physical health.

Obviously interpretation is subjective but this seems a huge misinterpretation of what OP was saying. To me, OP is clearly arguing that C code is damaging to the long term health of computer programs the same way asbestos exposure is damaging to long term human health and that we should consider replacing or retiring C code with modern alternatives like Rust the same way asbestos has been replaced with modern building materials. Saying that you don’t like the argument because bad C programs are nowhere near as damaging to physical health as asbestos seems like a bad faith interpretation of what OP was trying to say. I also think the criticiser may feel differently if he was hooked up to a life support machine that was known to have buggy c code but that’s by the by.

Hacker News seems to have gone really hellbent on this pedantic ‘this is fallacy x’, this is fallacy y’ stuff recently as if every comment is some kind of formal scientific paper. It’s really weird and I’m sure it never used to be like this. It’s sucks the joy and fun out of everything, I don’t know why people can’t just express interesting viewpoints here anymore like a normal conversation without the fallacy police showing up,

Re:Nvidia Security Team: “What if we just stopped using C?” by tryauuum on Tuesday November 08, 2022 @02:47AM (#33516876)
I'd rather prefer people saying "C has a long history of damaging security" and that's it, no asbestos here. Is a personal preference of mine. Less chances to misinterpret something.

At least it's not a "comparing Linux kernel to a car" situation I've also seen.

Re:Nvidia Security Team: “What if we just stopped using C?” by rcarr on Tuesday November 08, 2022 @07:24AM (#33518313)
I’ve never compared the Linux kernel to a car but I wouldn’t necessarily throw it out as a useful analogy for two reasons:

- 1: sometimes we have to learn simplified but faulty models in order to understand the more complex and more accurate models

- 2: Everyone sees the world in different ways. It is often through combining these different viewpoints (or analogies) that we arrive at something closer to the objective truth. This is eloquently illustrated in the [Blind men and an elephant parable](https://en.m.wikipedia.org/wiki/Blind_men_and_an_elephant). The moral of the parable isn’t that we should throw away all analogy because it can be misinterpreted. The moral is, as Wikipedia puts it:

> The parable has been used to illustrate a range of truths and fallacies; broadly, the parable implies that one's subjective experience can be true, but that such experience is inherently limited by its failure to account for other truths or a totality of truth. At various times the parable has provided insight into the relativism, opaqueness or inexpressible nature of truth, the behaviour of experts in fields of contradicting theories, the need for deeper understanding, and respect for different perspectives on the same object of observation.

Re:Nvidia Security Team: “What if we just stopped using C?” by lukeck on Tuesday November 08, 2022 @03:43AM (#33517202)
Analogies might not help you understand a perspective on a topic but they do help many, many people.