Why C Is Obsolete

In this video, Bjarne Stroustrup explains why he thinks C is obsolete. He explains that the languages should have been merged into one, so that C would have been a subset of C++ instead of nearly a subset of C++. And then people could have used whatever parts of the C++ tool set they needed. Bjarne Stroustrup is famous for having designed and implemented the C++ language.

See the full video and transcript on http://bigthink.com/bjarnestroustrup


  1. Paul Nash

    If Mr Stroustrup feels so strongly about compatibility, why did he not just make C++ a strict superset of C? Why should C, which was there first, have to adapt to his creation?

    Just to add a touch of heresy to the discussion, I use C extensively. And global variables. And static variables. But then I grew up on assembler, and still love BAL370, which runs on stack-free hardware

  2. amdroid

    *shrugs* so change C++ so that it’s fully compatible with C.

    Problem solved.

    Why fight to change another group when you can more easily change what’s in your control and achieve the same outcome?

  3. Martin

    C is not obsolete. It will never be obsoleted by C++ any more than assembler will be obsoleted by C. C is used mostly for utility and operating systems programming now. That’s pretty much it. It will continue to be used that way because that’s what it is good at; being fast, compact and reliable in key components on a computer system.

    What he’s done here is ignored the strengths of C by describing C++ as easier to use by non-programmers, and attempting to insist that this is the average use case, but it’s not for C. If you’re not an expert in the programming field, then you shouldn’t be writing operating systems or low-level utilities so you shouldn’t be using C. In fact, you should probably be sticking to something far more practical than either C or C++ by using Python or Ruby or something that can get results quickly and abstracts away all of the complications instead of just some of them as C++ does.
    One could argue C++ is obsolete. It’s too clunky for low level programming, but occupying a middle ground in efficiency between C and the more usable interpreted languages of today. Just as C is a middle ground before going all the way to assembler. A language is just a tool, and different jobs call for different tools.

  4. Ryan

    I’d be interested to hear a more technical discussion as to what could be gained, and the challenges that would be faced in doing so. For instance – if C were to become a strict subset of C++, what features would be lost? How strongly would this impact current C usage, C’s toolsets, etc.? What would C programmers gain by having C++ tools available to them?

    …I’m also curious if Bjarne has ever looked at D. From everything I’ve read, it’s superior to C++ in everything but community support.

Comments are closed.