Bjarne Stroustrup: Why the Programming Language C Is Obsolete


New videos DAILY:
Join Big Think Edge for exclusive videos:


Smarter Faster™
Big Think is the leading source of expert-driven, actionable, educational content — with thousands of videos, featuring experts ranging from Bill Clinton to Bill Nye, we help you get smarter, faster. S​ubscribe to learn from top minds like these daily. Get actionable lessons from the world’s greatest thinkers & doers. Our experts are either disrupting or leading their respective fields. ​We aim to help you explore the big ideas and core skills that define knowledge in the 21st century, so you can apply them to the questions and challenges in your own life.

Other Frequent contributors include Michio Kaku & Neil DeGrasse Tyson.

Michio Kaku Playlist:
Bill Nye Playlist:
Neil DeGrasse Tyson Playlist:

Read more at for a multitude of articles just as informative and satisfying as our videos. New articles posted daily on a range of intellectual topics.

Join Big Think Edge, to gain access to a world-class learning platform focused on building the soft skills essential to 21st century success. It features insight from many of the most celebrated and intelligent individuals in the world today. Topics on the platform are focused on: emotional intelligence, digital fluency, health and wellness, critical thinking, creativity, communication, career development, lifelong learning, management, problem solving & self-motivation.


If you’re interested in licensing this or any other Big Think clip for commercial or private use, contact our licensing partner, Executive Interviews:
Follow Big Think here:

✉ E-mail:



  1. My friend is a professional programmer. If you think C is obsolete you're as blind as those who keep saying rock music is dead.

  2. One may check out the talk made by Eskil Steenberg, software developper, Intel-engineer and developper of the game Love, about C.

  3. Aaaand yet it isn't though.

    cout << "C++ is horrific" << endl;


    printf("slightly more sensible don't you think? ");

    C++ suffers from many of the same drawbacks that C does and then adds a poor implementation of OO on top. And then adds a layer of crud for crud's sake. It might actually be the language that could knock Java from the top spot for "world's shittiest language".

  4. C is probably the worst, language in history, and the one that has done the greatest damage to the computer industry.

    C++ is slightly better, but still sucks pig-shit.

    No competent programmer defends or promotes either language.

  5. It's hard to replace sedans with buses; it's equally hard to create a sedan inside a bus. That's why.
    Me? I drive a truck around town and code in C++. Once you think in abstract terms there's no going back. What felt like a bus became a truck.

  6. What he doesn't say: C sucks, forget it
    What he does say: C++ and C should be more compatible with each other, as to make C into a subset of C++ instead of nearly a subset

  7. On a side note, I will disagree with him that C is obsolete. It’s all about overhead. Bjarne is thinking in terms of a programmer with a large buffet in front him. He views it as, “If C is already part of the buffet, then as long as you have the buffet, you don’t need C” What he is overlooking, is that there are still many, many, many instances, like billions of instances, where all you want from that buffet is a single hors d oeuvre. So if all you are going to eat is a single piece of shrimp, why would you order the entire buffet? When it comes to manufacturing costs, if you are mass producing some little toy shrimp whose eyes blink on and off, and that’s the extent of it, then the overhead of microcontroller costs per unit becomes very significant on your bottom line. So why would you wanna load this shrimp with all kinds of computing complexity just to make it’s eyes blink on and off more slowly so all the other kids laugh at how slow your toy shrimp’s eyes blink? When you are the creator of something rich and complex, it’s easy to overlook the importance of the simple. (PS: If anybody steals my blinking shrimp idea, I’m suing)

  8. Nothing have changed. Should be arranged Data, Process, Communication. C language has bad communication concept, I think. ASM is perfect in concept. ASM and me don't want pre defined type but size.

  9. c++ became a monster. As they say, object orientation is a design paradigm and not a language feature. The fact that you have to write more lines in C doesn't make it less efficient language from production point of view, because it assumes that typing is the bottleneck when writing something. Well, no. The thought process put into coming up with those lines is the bottleneck, and whenever one starts to use modern C++ to write stuff, he immediately starts to invest vast amount of thought energy into fighting with the language. It became horrible.

  10. I don’t get is thinking, you can build abstractions in C. As an example you would define a matrix as an opaque pointer and provide the necessary functions to define and make use of it. The implementation using the array are not made available to the user of the type.

  11. C is still preferred among scientists who do lattice QCD simulations for example, because of its superior efficiency/control of parallelisation over gigantic CPU-farms.

  12. c++ isnt the best at anything, for non comp sci fields, python is the clear choice, and for performance, c is the choice, if I want any of c++ features ill be programming in python where they are standard and not strapped on to C in an extremely ugly manner

  13. C is very good balanced. C++ is necessary, but a big mess. It’s somewhere between useful OOP technique and pointer functionality which is completely unnecessary for modern non hw-limited programming. If you write a graphic engine or so. Ok, C++ ist ok. But for desktop applications it’s overkill, risky and complicated.

  14. C and C++ are headed separate ways. C has the keywords _Bool, _Generic, register, _Static_assert, and restrict which C++ doesn't have. In fact in C++ they recently got rid of the register keyword. Moreover C++ mangles function names unless extern "C" is specified while C never mangles names. It's clear that C will never become a subset of C++. Neither are obsolete.

  15. In my opinion C and C++ are both very diferent languages, mostly what they have in common is the name "C" and the use of pointers, that's all. Imagine that one is called C and the other "millan" or whatever then the discussion would finish. In fact C is very important to low level programming such as microcontrolers.

  16. Did not expected such a naive comment from a legend on the most amazing programming language ever created C. It is to programming as Sanskrit is to human languages, it can never become obselete.

  17. Why is he talking about compatibility when C++ compiler can't compile C code without eating your RAM from all the errors and warning messages

  18. From personal experience every one who says C++ is better than C is a bad programmer and doesn't know what he is talking or he is not capable to solve simple problems

  19. OOP and Templates and Lambdas and smart-pointers are the best thing that C++ has going for it, those and Generic Programming…

  20. The only thing that I hate about C++ is having to read other people's codes. It's like they have to, personally, show off and be pedantic with them. Design a piece of software that is easy to read. This is one thing that I'd have to disagree with him with, abstractions layers aren't that great. In fact, they're what make it possible for other people to write messy, "pigsty code" as I like to call it…

  21. While I mostly agree, I think saying that c++ is the friendly language for non programmers is a pipe dream. Many computer programmers Aren't totally competent in C++.

    He's saying he wants c++ to be python.


Please enter your comment!
Please enter your name here