1. 21
  1.  

  2. 3

    This is excellent! It is great to read an article that really articulates the value of C - the things that it does better than other languages, including many proposed replacements for C - and also provides concrete suggestions for improving the safety of C implementations.

    1. 2

      I am not ashamed to say that I program in C, and that I enjoy it. This puts me at odds with much of programming language discourse, among both researchers and influential practitioners, which holds that C is evil and must be destroyed.

      ….

      Look, I get it, you like to program in C. Please continue to do so.

      If someone says “it would be great if we had a safer C”, why are you taking it as a personal attack? They’re just saying they want a safer C, not that you need to stop using it. It’s not like C will go away.

      Sure, the C community may change and shrink. But if the language is the important thing to you, then keep using the language.

      If, on the other hand, you’re worried about losing the widespread support and community of a first-class language, well, then you’ll have to make a call (not yet, mind you, but maybe in 5-10 years). And the decision will be: use the language you love for most things, and use different languages for most things. The former is still very viable – look at the Common Lisp community, for example – and the latter still allows you to use your preferred language for your own stuff (I still code in SML, myself, sometimes).

      But I’ll admit I’m tired of people seeing “C has flaws, and we could do better” and interpreting it as an existential threat. Calm down, figure out your priorities, and use whatever language you want to use.

      1. 4

        “If someone says “it would be great if we had a safer C”, why are you taking it as a personal attack? They’re just saying they want a safer C, not that you need to stop using it. It’s not like C will go away.”

        That’s not what they were saying in the quote. It was people who said C is evil, must be destroyed, and with implication everyone should avoid it. If it’s business-, safety-, or life-critical code, there is even some justification to that if safer alternatives are available and usable.

        Regardless, I agree with your point that they shouldn’t worry what folks think. Use it if you want to. Don’t if you’re against it. That’s how most things work in life. :)

        1. 2

          Responding mostly to clarify, since I think we’re largely in agreement.

          It was people who said C is evil, must be destroyed,

          I guess that’s part of my problem with these reactions: I’ve seen people say things like that, but generally out of frustration, not as a policy position. Even Perl programmers say things like that about Perl, but that doesn’t imply an actual plan to migrate, kill Perl, etc.

          and with implication everyone should avoid it.

          I’ve definitely seen more of that attitude. That said, I think it falls into the “change happens, so change or don’t” bucket that I was describing above.

        2. 4

          If someone says “it would be great if we had a safer C”, why are you taking it as a personal attack?

          They aren’t. The article itself says that it would be great if we had a safer C and goes on to explain how that might be done.