Computerworld is undertaking a series of investigations into the most widely-used programming languages. Previously we have spoken to Alfred v. Aho of AWK fame, S. Tucker Taft on the Ada 1995 and 2005 revisions, Microsoft about its server-side script engine ASP, Chet Ramey about his experience maintaining Bash, and Charles H. Moore about the design and development of Forth.
In this interview, we chat to Bjarne Stroustrup of C++ fame about the design and development of C++, garbage collection and the role of facial hair in successful programming languages. Stroustrup is currently the College of Engineering Chair and Computer Science Professor at Texas A&M University, and is an AT&T labs fellow.
What prompted the development of C++?
I needed a tool for designing and implementing a distributed version of the Unix kernel. At the time, 1979, no such tool existed. I needed something that could express the structure of a program, deal directly with hardware, and be sufficiently efficient and sufficiently portable for serious systems programming.
You can find more detailed information about the design and evolution of C++ in my HOPL (History of Programming Languages) papers, which you can find on my home pages, and in my book "The Design and Evolution of C++".
Was there a particular problem you were trying to solve?
The two problems that stick in my mind were to simulate the inter-process communication infrastructure for a distributed or shared-memory system (to determine which OS services we could afford to run on separate processors), and [the need] to write the network drivers for such a system. Obviously - since Unix was written in C - I also wanted a high degree of C compatibility. Very early, 1980 onwards, it was used by other people (helped by me) for simulations of various network protocols and traffic management algorithms.
Where does the name C++ come from?
As "C with Classes" (my ancestor to C++) became popular within Bell Labs, some people found that name too much of a mouthful and started to call it C. This meant that they needed to qualify what they meant when they wanted to refer to Dennis Ritchie's language, so they used "Old C", "Straight C", and such. Somebody found that disrespectful to Dennis (neither Dennis nor I felt that) and one day I received a "request" though Bell Labs management channels to find a better name. As a result, we referred to C++ as C84 for a while. That didn't do much good, so I asked around for suggestions and picked C++ from the resulting list. Everybody agreed that semantically ++C would have been even better, but I thought that would create too many problems for non-geeks.
References
- The A-Z of Programming Languages: AWK
- The A-Z of Programming Languages: Ada
- The A-Z of Programming Languages: ASP
- The A-Z of Programming Languages: BASH/Bourne-Again Shell
- The A-Z of Programming Languages: Forth
- home pages
- book
- any of my papers on C++0x
- publications page
- Doug Gregor's home pages
- technical FAQ
- JSF++ coding rules
- short list
Latest on C/C++
- Linux virtualisation hypervisor KVM hits release 87
- Linux 2.6.30 released, Torvalds proclaims 'new world order'
- Snow Leopard taps into the Mac's core power
- KOffice on version 2.0, extensions, and being like Firefox
- NetBSD 5.0, OpenBSD 4.5 arrive in same week
- The A-Z of Programming Languages: Falcon
- MIT professor snags 'Nobel' of computer science
- Qt 4.5 released under LGPL, new IDE
- Study: BI, programming skills in demand despite economy
- The A-Z of Programming Languages: F#
Development Essentials
- Security experts name top 25 programming screw-ups
- Top 10 wicked cool algorithms
- Facebook app verification fee draws criticism
- Microsoft's openness stressed
- Yahoo's developer platform to launch this week
- Microsoft starts new developer portal
- Google API allows creating apps that can track laptops
- PHP, JavaScript, Ruby, Perl, Python, and Tcl Today: The State of the Scripting Universe
- Analyst: In-house app development fraught with waste
- Is unit testing doomed?
TechWorld Jobs (beta)
Recent Jobs
TechWorld Blogs
-

TalkingTech
The view from the top of IT with TechWorld Editor Rodney Gedda
-

Entrenched
Cooking up better code, IDG's developers reveal some of their secrets
-

Broadband Voice
Darren Pauli digs in from the front line of Australia's broadband battleground
Recent blog posts
- Nokia remains 'open' to Android amid Symbian renaissance
- KDE's Seigo gives sneak peek at version 4.3
- Was the iPhone 3G S worth queuing up for?
- Has Oracle started its mammoth technology consolidation?
- iPhone 3.0: the detail is the process, not the features
- TechWorld.com.au goes mobile
- Should Dell buy Palm? Stranger things have happened
- A big week for Linux: is user friendliness finally in sight?
- Apple, Android rain on Palm's Pre parade
- The clone attack is becoming unstoppable
Recent comments
- State your Prediction and
1 hour 21 min ago - Yes I have seen them.Actually
2 hours 14 min ago - PSP Nintendo
17 hours 22 min ago - Interesting report. You were
1 day 13 hours ago - Are you sure it is in Sydney?
2 days 51 min ago - The mobile market has
2 days 8 hours ago - Great news.
Sms spam should
3 days 5 hours ago - now what am I gonna do with
3 days 8 hours ago - ozlotteries.com not ozlotto.cm
3 days 9 hours ago - OLAT Release
3 days 20 hours ago - and i was sure i would win...
4 days 21 min ago - Hi SolidRadicle,
I am looking
4 days 1 hour ago - Not if I can help it
4 days 1 hour ago - Ozlotto Tips Scam
4 days 5 hours ago - Great post.
It's very
4 days 5 hours ago - Excellent review! I'm glad
6 days 2 hours ago - iTunes Helper
1 week 1 day ago - Update the link to OrangeHRM web site
1 week 2 days ago - Very informative article
1 week 2 days ago - Google Chrome is still being directed to bing instead of google
1 week 2 days ago










Comments
C++ A computer language for ever
C++ - A computer language that will will remain with the computer technology evolution.
Post new comment