Why the Programming Language C Is Obsolete

Question: What is the difference between C and C++?
Bjarne Stroustrup:  C has the basic mechanisms for expressing computations.  It has iterations, it has data types, it has functions and that’s it.  It doesn’t get into the game of expressing abstractions.  So if I want a matrix in C, I would have to say, I want an array and then I want a whole bunch of arrays and when I want to get the third element I have to program my way down to the third element of the fourth row or something like that.  

In C++ you can define something, call it a matrix, you define a subscript operator. If you don’t want rectangular matrixes you can get pentadiagonal matrices, triangular matrices that’s the kind of stuff that people... the expert in that field are interested in.  And you build that set of concepts and then you program it directly.  It’s easier to program, it’s easier to debug and sometimes it’s even easier to optimize for performance when you are expressing the notions at the higher level, at the level where an expert in the field operates, rather than trying to have the expert in the field, say the physicist, also be an expert in dealing with the hardware, with the computer.  There are fields still where you have to have a physicist and a computer scientist to get the work done, but we would like to minimize those because the skill sets are not the same.  So you want to lift from the hardware towards the human level.  

Is C obsolete?

Bjarne Stroustrup: This is somewhat controversial.  I think it is obsolete.  I think 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.  As it is now, there are still enough incompatibilities that you have to remember which language you’re writing in, and I don’t think that is necessary.  It appears to be a historical necessity, but it is not a technical necessity.  

I’ve argued for compatibility, very strong compatibility, all the time.  I mean, I started working on C++ three doors down from Dennis Ritchie and we were talking every day.  The competition and tension that has been between C and C++ over the decades certainly didn’t come from home.  

Dennis Ritchie wrote that first book that Brian Carnahan, now I’ll have dinner with Brian next week.  We’re still very good friends as we’ve always been, but sometimes the programmers of the languages don’t quite see it that way.  It should have been one language.

Recorded August 12, 2010

Interviewed by Max Miller

C should have been integrated as a subset of C++, says Stroustrup.

Big Think Edge
  • Push Past Negative Self-Talk: Give Yourself the Proper Fuel to Attack the World, with David Goggins, Former NAVY SealIf you've ever spent 5 minutes trying to meditate, you know something most people don't realize: that our minds are filled, much of the time, with negative nonsense. Messaging from TV, from the news, from advertising, and from difficult daily interactions pulls us mentally in every direction, insisting that we focus on or worry about this or that. To start from a place of strength and stability, you need to quiet your mind and gain control. For former NAVY Seal David Goggins, this begins with recognizing all the negative self-messaging and committing to quieting the mind. It continues with replacing the negative thoughts with positive ones.

10 new things we’ve learned about death

If you don't want to know anything about your death, consider this your spoiler warning.

Culture & Religion
  • For centuries cultures have personified death to give this terrifying mystery a familiar face.
  • Modern science has demystified death by divulging its biological processes, yet many questions remain.
  • Studying death is not meant to be a morbid reminder of a cruel fate, but a way to improve the lives of the living.
Keep reading Show less
Big Think Edge
  • Master Execution: How to Get from Point A to Point B in 7 Steps, with Rob Roy, Retired Navy SEALUsing the principles of SEAL training to forge better bosses, former Navy SEAL and founder of the Leadership Under Fire series Rob Roy, a self-described "Hammer", makes people's lives miserable in the hopes of teaching them how to be a tougher—and better—manager. "We offer something that you are not going to get from reading a book," says Roy. "Real leaders inspire, guide and give hope."Anybody can make a decision when everything is in their favor, but what happens in turbulent times? Roy teaches leaders, through intense experiences, that they can walk into any situation and come out ahead. In this lesson, he outlines seven SEAL-tested steps for executing any plan—even under extreme conditions or crisis situations.