Interview with Bjarne Stroustrup

A discussion about the creation of C++, its strengths and what C++ programmers should remember.

Below, Aleksey Dolya interviews Bjarne Stroustrup, the creator of the C++ programming language.

Linux Journal: How old are you? Do you have family?

Bjarne Stroustrup: I'm 51 years old. I'm married and have two children; both are now university students.

LJ: Bjarne, can you say a few words about your youth? When and where you were born, where you studied?

BS: I was born in Arhus, Denmark. I'm not from an academic family, but I did well in school. So I continued through my local high school and then went on to the University of Arhus, where I received a Masters degree in Mathematics with [a focus on] Computer Science. Arhus is a wonderful town with about 250,000 people situated on the east coast of Jutland. Like most boys then and there, I played in "the yard" of our apartment block, delivered newspapers and milk to get spending money, played soccer, bicycled to the beach in the summer and learned to appreciate the woods near town as a boy scout. Towards the end of my university studies, I became interested in microprogramming and went to England, where they had better machines for that. I eventually ended up getting my PhD from Cambridge.

LJ: And where do you live now?

BS: I live in a suburb of New Jersey called Watchung. It's a small, quiet place with a lot of trees. When you see it from the air in the summer, almost all you see are trees. It is ten-minute drive from Murray Hill, where I used to work at Bell Labs, and about 30 minutes from Florham Park where I work at AT&T Labs. It's about 35 miles from New York City. I used to be able to see the World Trade Center towers from just around the corner by my house.

LJ: This points to a file with the proper pronunciation of your first name and surname. Are you its author?

BS: Yes, that's me.

LJ: Did you have a computer at home when you were growing up?

BS: No, it was too early for that. Computers were very expensive and lived in university departments and large companies. The first computer I saw was my university's Math department's GIER. It was an old Danish computer that filled a room and was fed programs on paper tape. I learned to program in Algol 60 on that one.

LJ: Every famous man has his beginning. Bill Gates, for example, began by writing his first program in Basic, a program his school had bought. What was your beginning?

BS: I think the key project was a distributed systems simulator that I wrote in Simula67 as part of my PhD work at Cambridge. However, much of what I did during my university years contributed significantly. For example, I financed my Masters degree by writing small commercial programs for the Arhus office of Burroughs, a company that later merged with Univac to create Unisys. There, I learned to develop programs that other people would rely on for their livelihood; that's very different from just getting a program to work for yourself or your friends. I also had to design those programs in consultation with their eventual end-users; that too was very different from simply solving a programming exercise at the university. In addition, my work with machine architecture helped me make decisions about programming languages and implementation techniques.

If you are interested in the personal aspects of the birth of C++, you might consider reading the chapter about me and C++ in Steve Lohr's book Go To: The Story of the Math Majors, Bridge Players, Engineers, Chess Wizards, Scientists and Iconoclasts who were the Hero Programmers of the Software Revolution (ISBN 0-46-504225-2). For a more technical description of the origins of C++, see my book The Design and Evolution of C++.

LJ: How did you come to invent the C++ language?

BS: After completing my studies at Cambridge in 1979, I went to the US to work as a researcher for AT&T Bell Labs in Murray Hill, New Jersey. There, I started a couple of projects related to distributed computing using local area networks. However, I wasn't making good progress because the available tools were inadequate for those projects. So, I developed something I called C with Classes to allow me to use Simula-style program organization (what is now called object-oriented programming) for simulations and close-to-the-hardware systems programming. C++ was based on C with Classes and what was learned by me and many others (mostly at Bell Labs) by using C with Classes in many application areas.

LJ: Are you proud of your C++ language?

BS: Naturally. I'm very happy with the way it allows me to write programs that are simultaneously elegant and efficient. I'm also quite proud of its widespread use. That said, I don't claim that C++ is perfect. There is a lot of really horrible C++ code out there, because many programmers haven't learned to use C++ well. I encourage people to look at my home pages, papers and books for ideas about how to improve their code. My impression is that most C++ code could have been much cleaner, maintainable and efficient than it is had the designers and programmers understood up-to-date C++ features and techniques. Standard C++ really does make possible programming techniques that were infeasible ten years ago. Unfortunately, many are constrained or feel constrained to use C++ as it stood ten years ago, or they simply use it as a better C.

LJ: How do you feel now, knowing that millions of people work using the tool you created?

BS: I'm very pleased, but as I said, I wish they'd do themselves a favor by using it better.

LJ: Do you think that creating C++ has been the most important thing in your life? Do you think you will do something more useful in the future?

BS: It has certainly been the most significant part of my working life, and it's unlikely that I could produce something that would be more significant. Many of the applications that most directly affect our daily lives are C++ programs. To get an idea, see my short list of C++ applications.

I'm sure I'll do something significant and useful in the future. It's just unlikely that I'll create something of the magnitude of C++. I have recently decided to go into academia and accepted a professorship at Texas A&M University. There, I will be able to combine research with teaching in a way I can't at AT&T Research. I see teaching as another and different way of influencing the world for the better, and academic research provides somewhat different tradeoffs from the industrial research that I have practiced so far--not better, just different. I will keep ties to AT&T Research and to industry in general, because much of the best research is rooted in problems found in industry.

LJ: Do you use C++ in your work?

BS: Yes. It's my main research tool.

LJ: What C++ compiler is the best from your point of view?

BS: The major C++ implementations now are all pretty good or better. By that, I mean they are close to the ISO C++ standard and provide good run-time performance. For a list, see www.research.att.com/~bs/compilers.html. I don't recommend compilers that have fallen way behind the standard, such as (sadly) Watcom.

LJ: What compiler do you use at work?

BS: Several; for the moment, GNU, Microsoft, Borland, SGI and Metrowerks.

LJ:If it's not a secret, what do you research at your job?

BS: I'm looking at ways of doing distributed computing, trying to apply some program transformation techniques to allow me to use standard C++ source code for a variety of distribution architectures.

I suspect that this research is better for a technical paper or technical talk than for an interview, but I can give an example. I wanted to write a small program than needed to run with parts being on several computers. Conventionally, I'd have to write that program so the communication methods were explicit in the program. For example, if I used CORBA, my code would contain CORBA calls and I'd need to write IDL for the types I wanted to communicate between the parts of my program. If, on the other hand, I wanted the communication to use TCP/IP directly, my code would be full of TCP/IP library calls. Instead, I wrote a program where the communication between the parts were represented by ordinary C++ member function calls. If the object to be called was local, I directly called members of class X; if not, I called the same members of class proxy<X>. Using a library with facilities for C++ program transformation, I then automatically converted the calls of proxy<X> into message sent across a TCP/IP connection or, alternatively, to CORBA calls.

LJ:Did any companies other than AT&T Bell Labs try to make you their employee?

BS: Certainly; several companies and universities did, but until this year they all failed.

LJ: What is your favorite OS?

BS: I use Unix and Windows2000.

LJ: What Unix?

BS: Currently, Solaris, Irix and Linux. I try not to depend on features that are not standard across systems.

LJ: Do you think they are the best OSes available today?

BS: They are good OSes, but I'm not sure what would make an operating system the "best" in general. There are serious tradeoffs among factors such as size, performance (of various forms), ability to run existing applications, availability on various hardware and so on, so that users still have to choose among good systems for one that is best for a given set of applications.

LJ: Which processor do you prefer, Pentium or Athlon?

BS: I don't have a preference, but the 8*86 isn't anyone's favorite machine architecture. The way they use hardware to map from their archaic instruction set to the internal RISC architecture it truly remarkable.

LJ: How much time do you spend working with PCs every day?

BS: I must spend more than eight hours a day with computers, slightly less on weekend days. Not all of my computers are PCs, though.

LJ: Does your heavy PC work on a daily basis cause any health problems?

BS: I occasionally get a sore right arm from using a mouse too much, and less frequently I get a sore lower back from sitting at a desk too long. I fight this by taking walks and by running. Most weeks, I run four to six miles two or three times a week.

LJ: What computer(s) do you have at home now?

BS: A Sun box running Solaris, my IBM laptop running W2000, a Linux handheld, an old Windows box running W95 and an "antique" Apple Mac. As you can guess, I'm rather keen on portability and a reasonable degree of system independence.

LJ: And at the office?

BS: A Sun and my laptop. From these computers (both at work and at home), I can reach many more systems through the internal AT&T Research Net and beyond. If people are interested, they actually can see those computers and the rest of my office in a panorama accessible from my home page.

LJ: What programming languages do you know?

BS: That depends on what you mean by "know", but I have a working knowledge of a few languages and a reading knowledge of many more. Examples are ML, PERL, Python and Ada.

LJ: What languages do you think are serious competitors to C++?

BS: That depend on the application. Sometime C++ is the best choice; at other times there are reasons to prefer a language such as Fortran, Java, C# or Python. And yet other times, one could use a more experimental language just to learn something new. There are many languages that are good for what they are designed for, and it is a mistake to rely solely on one language. On the other hand, competition is often based on marketing and perceptions rather than facts, and I'm not going to comment on that.

LJ: What do you think about the .NET-platform and its child, the C# language?

BS: I still know too little about .Net to be comfortable writing about it.

LJ: Can C# be a universal language for everything?

BS: No. It's too high level for many kinds of systems programming, too specialized to Windows for many other kinds of programming and proprietary. That, of course, doesn't mean it cannot be a good tool for the middle-of-the-road Windows applications it is designed for.

LJ: But .NET is a platform that can be designed for various OSes. For example, there are some steps available from Microsoft to make that platform for FreeBSD. Do you still think that it's too specialized to Windows?

BS: Let's wait and see how things develop. Currently .Net is a Microsoft proprietary platform for Windows, and I don't expect to see significant use of it elsewhere anytime soon.

LJ: What is your opinion about the abyss between the C and C++ languages? Those two languages seem to be becoming further and further apart from each other.

BS: I think that the current mess of C/C++ incompatibilities is a most unfortunate accident of history, without a fundamental technical or philosophical basis. Ideally the languages should be merged, and I think that a merger is barely technically possible by making convergent changes to both languages. It seems, however, that because there is an unwillingness to make changes it is likely that the languages will continue to drift apart--to the detriment of almost every C and C++ programmer.

LJ: Are you taking any steps to integrate C and C++?

BS: I'm trying to make people see the advantages of C/C++ compatibility for the C/C++ community. In particular, I have written a series of articles for The C/C++ Users Journal on that topic, which you can download from my publications page and the CUJ site. However, there are entrenched interests keeping convergence from happening, and I'm not seeing much interest in actually doing anything from the majority that, in my opinion, would benefit most from compatibility. As ever, the majority just hopes that things somehow will work out for the best.

LJ: Would you say that C++ is the best of the best, compared to other programming languages?

BS: No; that wouldn't be meaningful. There are many great programming language. C++ is one of them, but there is not and could not be a single language that is the best for every person and every problem.

LJ: Do you have any programming certificates?

BS: No. In general, I value education over training and would almost always choose someone with a broad and deep general knowledge over someone with only specific training. A combination of academic and practical skills is my ideal.

LJ: Do you think the certificate system is useful for programmers and organizations that hire programmers?

BS: I don't know of a certificate system that is really valuable for programmers. I prefer traditional degrees from universities, engineering schools, etc.

LJ: What is your opinion, is knowing assembly language useful for programmers nowadays?

BS: It is useful to understand how machines work and knowing assembler is almost essential for that. If you don't know the machine at that level, you almost certainly suffer from serious misconceptions about computers, and some parts of the system are magical to you. Currently, I'm reading the latest edition of Hennesey & Patterson to bring my knowledge of machine architecture up to date.

LJ: "Last edition of Hennesey & Patterson". What is it?

BS: Probably the best book explaining modern computer architecture. This is a book you want to read if you want to know what's really going on inside your processor. It's not bedside reading, though, at about 1,000 pages long.

LJ: Do employers need asm-programmers?

BS: Not as such, but programmers who work with DSPs at the basic level must know the architecture of their processors very well.

LJ: What is DSP?

BS: DSP is digital signal processor. The relevance of my comment is that DSP instruction sets have more special cases that ordinary general-purpose processors, and compilers are relatively less capable of generating good code for DSPs.

LJ: Is it true that programmers who understands OSes on the kernel level can get more money (30-40%) than common high level programmers?

BS: I don't know; I don't keep statistics on salaries. Knowledge of kernels is useful, so it ought to be valuable, but so are many other kinds of knowledge.

LJ: Do you play computer games?

BS: Hardly ever any more. Unfortunately, I don't have the time.

LJ: What is your favorite meal?

BS: I don't think I have a favorite meal as such. Just about any meal in congenial company is a feast. However, there's a Danish meal called a cold table that starts with several kinds of herring, moves on to fish and meat and usually ends with shellfish and cheese. Traditionally, a cold table is accompanied by beer and aquavit. My wife has an excellent recipe for pork tenderloin with watercress salad, and my favorite Italian restaurant serves a spectacular Zupetta de Peche, which is fish and shellfish over linguini with a spicy ("Fra Diavolo") sauce. Yum!

LJ: Are happy now?

BS: I'm reasonably happy, as I ought to be given my family, my friends, my contributions to programming, my career and so on.

LJ: What would you like to say to programmers who use C++ or on their way to doing so?

BS: Be adventurous in your experimentation and somewhat more cautious in your production code. On my home pages, I have a "Technical and Style FAQ" that gives many practical hints and examples. However, to really develop significant new skills, one must read articles and books. I think of C++ as a multi-paradigm programming language. That is, C++ is a language that supports several effective programming techniques, where the best solution to a real-world programming problem often involves a combination of these techniques. Thus, I encourage people to learn data abstraction (roughly, programming using abstract classes), object-oriented programming (roughly, programming using class hierarchies) and generic programming (roughly, programming using templates). Furthermore, I encourage people to look for combinations of these techniques rather than becoming fanatical about one of these paradigms because it happens to be a great solution to a few problems.

It is important to remember that a programming language is only a tool. Once you master the basic concepts of a language, such as C++, it is far more important to gain a good understanding of an application area and of the problem you are trying to solve than it is to study the minute technical details of C++. Good luck, and have fun with C++!

Aleksey Dolya is a Russian C/C++ programmer interested in network security and software protection.

______________________

Comments

Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.

sup /b/

Anonymous's picture

sup /b/

I Love C++

Anonymous's picture

I am a student. I learning C++ and Java both. I like both languages. But what i really miss in Java is pointer and use of multiple inheritance. Cheers :D

Blurg!

Anonymous's picture

BLURG!!!!!I need to know about his family for a report i have to do for business management.

thank you

ml's picture

I would like to thank Bjarne Stroustrup for inventing C++. It is my favorite language because through its discovery I became a computer scientist, not just a programmer. It made me want to search and want to find out, and for me today computer science is a pleasureful discovery every single day.
Thank you Mr. Stroustrup for giving me my thirst.

Re: Interview with Bjarne Stroustrup

thyung's picture

I agree that programming certificate is nothing. One can easily distingish good and bad programmer by a few questions but not a certificate. Certificate system was created to generate business only, for example MSCE.

Understanding C++ is a multi-paradigm programming language is important. Last week, I attended a talk by a University Professor who mentioned C++ as Object Oriented programming language. We need to learn the 2 words from James Coplien's "Multi-Paradigm Design for C++" - "Commonality" and "Variability". All kinds of analysis want to separate a problem into these 2 parts but no single methodology is good for all problems, for example OO for GUI framework, generic programming for STL.

Bjarne is a genious person

Anonymous's picture

Bjarne is a genious person thats why people wants to know about him.And if someboby don't know how to respect than i'll suggest them don't post ur cheap mentality.

Re:Bjarne is a genius.

Aniket's picture

First, buddy, IMPROVE YOUR ENGLISH. Secondly, Bjarne IS a genius person. As far as i know, every genius is respected....so stop posting crap.

Are you out there Bjorn? I would like to ask a couple of better

Anonymous's picture

Aleksey, You seem to be a very paranoid person (network security, and software piracy)... Why don't you get into Open Source? Then you can stop working on software protection :)

Q: What is your opinion on the 'c' that went the other way: ObjC.
A:

Q: What is your thoughts on the state of boost?
A:

Q: I realize that you don't want to single out a compiler as the best C++ compiler or the worst because you realize that time has an effect on source code (The bad one may become the best one, and the best one may become the worst). When your programming on unix, what utilities do you use to manage, build, and test your software writen in C++?
A:

I thought these where some good questions that I did not see in this Q and A session.

Bjorn. I would like to appologize for questions like:
*Would you say that C++ is the best of the best, compared to other programming languages?
*Do you play computer games?
*What is your favorite meal?
And worst of all:
*Are happy now?

If you would like to retake a Q and A session, I would love to ask some better, on topic questions.

Have a nice day,

Bryan Hundven
b h u n d v e n a t u s e r s d o t s o u r c e f o r g e d o t n e t

I don't think so

A.Vargas's picture

I was thinking that the interviewer was great. I liked *all* the questions very much, including those. Yours not, indeed. Seem trivial, very specific and intrascendent to me.

Re: Are you out there Bjorn? I would like to ask a couple of bet

Anonymous's picture

"Bjorn. I would like to appologize for questions like:"

And next for not spelling Bjarne right?

:P oops, and most people spel

Anonymous's picture

:P oops, and most people spell my name with an 'i'...

Re: One of the worst interviews I 've ever read

Anonymous's picture

Well, this is one of the worst interviews I've ever read. You have had the chance to interview the man responsible for one of the most popular and widely used computer languages, and all you had to ask him is "What is your favorite plate?" or "Do you get tired working for so many hours in front of a terminal?". What is this? Has Linux Journal become a fashion magazine? Where are *important* questions (for a language expert) like: What he thinks about statically-typed vs. dynamically-typed languages? Or what he thinks about the modern object-oriented scripting-languages? Or whether he thinks templates are like reinventing macros in a more formal manner (or an attempt to add to C++ something of the power of LISP macros)? How about the recent objections to object-orientation, claiming that "OO" is a limited set of features aimed to give statically-typed languages a high-level facade? Or, even, about garbage collectors and why C++ hasn't any? Actually the questions I would be the least interested to have answered by Bjarne Stroustroup, are the ones asked by the interviewer!

Re: One of the worst interviews I 've ever read

Anonymous's picture

What a waste of time... I read the entire interview and still don't know what his favorite color might be.

Re: One of the worst interviews I 've ever read

Anti_berkut's picture

"What a waste of time... I read the entire interview and still don't know what his favorite color might be."

.. i think it's Red :)

Re: One of the worst interviews I 've ever read

Anonymous's picture

Yes, this was sad...............

Re: One of the worst interviews I 've ever read

Anonymous's picture

Indeed, this was a terrible interview. The questions were lame. The interviewer exhibited very little knowledge on the general subject of computing and I suspect this may be why the interview turned out the way it did. It was painful to read.

Re: Interview with Bjarne Stroustrup

Anonymous's picture

I admire Strostrap for his job. I admire Hejlsburg, Gosling, Torvalds, and others who changed the world that we-programmers live in. Admire Kernighan as well as Gates!

Admire all the scientists who developed a better life. Einstin, Edison,...

come one everybody! They did their best. There's no need to sue them for just what they did for human being, specially the intelligent race, programmers! ;)

PS. I admire them! But I don't use Nukes from Einstin, Elecrtic chair from Edison, Windows from Gates, and C++ from Strostrap...

All of them did their best to make an idea but others get it and make a REAL and USEFUL product, like Java from C/C++ and Linux (to get rid of windows) and Nuclear power (vs. other E=MC^2 usages)...

That is the point! Sorry for bad English essay. ;) maybe I should sue the first England who created it! I need esperanto LOL

Re: Interview with Bjarne Stroustrup

Anonymous's picture

"PS. I admire them! But I don't use Nukes from Einstin, Elecrtic chair from Edison, Windows from Gates, and C++ from Strostrap..."

And you cannot spell either.

Not to mention that Einstein had nothing to do with the Nuke. He was against it.

And now let's sign together the "Rebel Without a Clue".

Re: Interview with Bjarne Stroustrup

Anonymous's picture

You need lojban.

Re: C++ IS OVER RATED

Anonymous's picture

I can't for the life of me figure out why this hack was ever invented.. C is and was a perfectly good language which spawned other perfectly good languages such as Visual Basic. VB is the way to go.

No joking!

Anonymous's picture

VB is a piece of crap! It is a con we invented at microsoft to get rich fast and to encourage crappy programming so the OS would not stand off by its low quality. every nitwit could believe (s)he was able to "write code" using veebee...

Re: Interview with Bjarne Stroustrup

Anonymous's picture

>and my favorite Italian restaurant serves a spectacular >Zupetta de Peche, which is fish and shellfish over linguini >with a spicy ("Fra Diavolo") sauce. Yum!

the right spelling is "zuppetta di pesce"

What an undereducated, simple-minded interviewer !!

Anonymous's picture

How could you ask a man that was obviously born around 1951 if he had a computer at home when he grew up? and that's not the only faux pas in the interview.

unbelievable. be glad BS is such a gentle and polite man. others would just have thrown you out for stupidity.

Re: What an undereducated, simple-minded interviewer !!

Anonymous's picture

Probably the interviewer did'nt realise what was going around.
The stupidest interview ( stupidest interviewer rather ) I have ever come across.
Sorry Stroustrp.

Re: What an undereducated, simple-minded interviewer !!

Anonymous's picture

Welcome to Linux Journal. There's more of an agenda here than Fox News. It's obvious the interviewer thinks he can get the answer he wants to hear if he simply asks the questions over and over. Sad really, it looks like he's badgering BS.

Re: What an opinion.

Anonymous's picture

I think it was a good way for younger readers to understand the temporal shift. People 51 years old DIDN'T have computers at home when they were growing up, but to the average 21 year old - growing up in the 1990s - *not* having a computer at home is something they can't relate to.

Re: What an undereducated, simple-minded interviewer !!

Anonymous's picture

This would have been a "great" article if the interviewee had been some 25 yo geek. Utterly insulting, though, to a respected 51 yo PhD.
The LJ editors should have, well, edited out the banal or stupid
questions like "favorite processor" and "did you have a computer growing up".

Re: What an undereducated, simple-minded interviewer !!

Anonymous's picture

Actually it was possible to learn something about computing back in the 50's. I made my own punch cards from index cards with binary numbers represented by either slots or holes located on the edges. You could use knitting needles to separate holes from slots and use different sorting algorithms. I also programmed a machine that was built in the 50's and still running in the 80's that ran entirely on 120 volt relays. ( I programmed it in the 80's) The designer built his own tape punch and reader that used cash register tape.

Knitting

Karen's picture

I have just recently started to knit, and I love. I make purses mostly but I also like to do scarves and blankets. I was doing really well and selling everything that I was making. It is now becoming so popular that everyone is doing it and I get less buiusness, so as fun as it may sound it is hard and if I were you I would not try it.

Re: What an undereducated, simple-minded interviewer !!

Anonymous's picture

Was it in your house? No....

Re: What an undereducated, simple-minded interviewer !!

Anonymous's picture

What interviews have you done? If you have, would you care to link to them? Interviews (particularly via email) are difficult to do - I have done quite a few of them. OK - there were obviously no computers around when Bjarne was growing up, but hey, if that's the only thing you can criticise about it (you didn't list the other 'faux pas' you mentioned) then best to keep your negative comments to yourself. I, for one, liked the interview and I thought the interviewer did a good job.

Re: What an undereducated, simple-minded interviewer !!

Anonymous's picture

To be honest, I am a bit disapointed with this interview.

Many of the questions are just dumb.

Ok, maybe I wouldn't do it better myself. But that's why I'm not the interviewer ;)

C++ should never been

Anonymous's picture

C++ is an inglorious hack, and as such it has cost the software development world a huge amount of time. C++ code is unportable, and difficult to debug. It is an overwrought language that has an overly rich feature set and syntax - this has lead to enormously bad C++ code (and coding habits) throughout the world.

Java, although imperfect, is really "the better C". Bjarne, if he had been a little bit more clever, would never have created C++ in the first place. It has caused the world a lot more trouble than it's worth.

Re: C++ should never been: I disagree...

Anonymous's picture

Great work Bjarne! Without this tool, a lot that has happened wouldn't have happened in the progamming arena. As I use the tool, i discover new things and many will agree that this is a VERY POWERFUL tool! I wish people may start looking on the bright side of this Language.

Re: C++ should never been

Anonymous's picture

U idiot person. U don't know anything. Bjarne is famous bcoz u did his best.

Re: C++ should never been=>go to mental hospital

Anonymous's picture

I think u should go to mental hospital. Because if a person insult bcoz he likes another language than i should say <b>u has a hole in ur brain</b>.

I agree with u bcoz Bjarne is a genious person

Anonymous's picture

i agree with u. Bjarne is a genious person. And the person who start the thread "C++ should never been" is an idiot person.

Re: C++ should never been

Anonymous's picture

It's sad how deceiving this interview is, ...
I don't think C++ is just an inglorious hack as you said, I've been using myself Java for now 4 years, this language is really great even if it's getting old now, and even it tooked 7 years for Sun microsystems to decide to finally integrate generic programming( maybe they thought that java was so revolutionary that we'll be stuck with until the end of the next century). I think that I learned a lot with java, essentially the good practices of abstraction and writing good interfaces and APIs. But this does'nt make me uninterested in learning or using other languages, even when it's assembly language. And, honstly, C++ is a valualble language, and it brought a lot to the programmers community, saying that it should never been is accusing Stroustrup for not retaining his brain when he started inventing it, and more then 80% of the developers community for adopting it. Moreover, c++ was a source of inspiration for improving languages like java and even for programming language theory in general.
I personnaly enjoyed reading pieces of code written in c++ by persons like Meyers, Martin.. So my final thought is that whatever the language is , good code writing is more a matter of style and way of thinking than a matter of the design of the language itself, have to know that strong experienced developers are more comfortable with dynamically typed languages thant with statically typed ones, this is because they master more knowledge then average developers and have a bag full of good practices, in opposition, dummies like babies who can't walk alone, are always asking for assistance from the language, saying that they need a language that will avoid them to do this or that, just because they don't know that they don't have to do it. So I think we don't have to be lazy about learning, and C++ offers a large field for that, you can learn a lot, even if you write only java code.

Re: C++ should never been

Samizdat's picture

Bugs?! Java, my friend, is the very definition of the word!

Re: C++ should never been

Anonymous's picture

A language should do far more than 'opening a wGUI window in one line of code' to impress me. Java, good language for certain things but I wouldn't compare it with c++ at all.

Re: C++ should never been

Anonymous's picture

FLAME BAIT!

Wow, you'd think that you folks would recognize it when you see it.

Re: C++ should never been

Anonymous's picture

You're jumping the gun here. Any language, if used improperly, can end up wasting large amounts of time and money. Yes, the feature set is rich, which means that the programmer needs to thoroughly explore and understand its use before coding or run the risk of writing code that is far from optimal and difficult to maintain.

C++ does have value as does Java. They are simply different tools each suitable for solving different types of problems.

Re: C++ should never been

Anonymous's picture

Java? Brr! I hate languages where you're not "free" enough. For example pointers, usage of goto :) and so. Yes these stuffs can be called 'ugly', but I bet I can code faster and smaller programs than you with your 'clean programming language'.

Re: C++ should never been

Anonymous's picture

C++ SUCKS!!! VB is the language of the future which all applications and programs will be written in. Wake up and smell the coffee. I could give many advantages of VB over any and all languages

Re: C++ should never been

Anonymous's picture

Do you have a source for a version of VB to run on my Sharp Zaurus SL-5000?

Where can a download a GPL version to run on my Linux machine?

Is there an embedded version of VB?

The fresh brewed coffee smells just fine. When VB is available and runs on all of the machines I use it will approach the usefulness of C/C++ for my applications.

Cheers.

Re: C++ should never been

Anonymous's picture

I dont know about any of you, but im still using FORTRAN

Re: C++ should never been

Anonymous's picture

"I bet I can code faster and smaller programs than you"

And I could code it even faster and smaller in assembly language - except that by the time I got it working, the need for it would probably be gone. "Faster and smaller" still counts for something in embedded programming, but otherwise - getting the programming done and getting the bugs out is a whole lot more important than being thrifty with machine resources when you can just go to Walmart and buy GHz machines with 40G hard drives.

Will Java will actually let you write big programs and get the bugs out any better than C++? It's not something I can answer...

Re: C++ should never been

Anonymous's picture

"C++ is an inglorious hack, and as such it has cost the software development world a huge amount of time."
"Java, although imperfect, is really "the better C"

Try to make a linux kernel with java ( its impossible ) or rdbms like oracle in java ... Even Sun Microsystems ( they created Java, but of course you didnt know that either ) would laugh at your statement

Re: C++ should never been

Anonymous's picture

> Try to make a linux kernel with java ( its impossible )

There isn't an awful lot of C++ code in the Linux kernel either (read: NONE at all).

Cheers
Steffen.

Re: C++ should never been

Anonymous's picture

Put it this way, Write a kernel in Java.
humpty dump, BeOS.

Webinar
One Click, Universal Protection: Implementing Centralized Security Policies on Linux Systems

As Linux continues to play an ever increasing role in corporate data centers and institutions, ensuring the integrity and protection of these systems must be a priority. With 60% of the world's websites and an increasing share of organization's mission-critical workloads running on Linux, failing to stop malware and other advanced threats on Linux can increasingly impact an organization's reputation and bottom line.

Learn More

Sponsored by Bit9

Webinar
Linux Backup and Recovery Webinar

Most companies incorporate backup procedures for critical data, which can be restored quickly if a loss occurs. However, fewer companies are prepared for catastrophic system failures, in which they lose all data, the entire operating system, applications, settings, patches and more, reducing their system(s) to “bare metal.” After all, before data can be restored to a system, there must be a system to restore it to.

In this one hour webinar, learn how to enhance your existing backup strategies for better disaster recovery preparedness using Storix System Backup Administrator (SBAdmin), a highly flexible bare-metal recovery solution for UNIX and Linux systems.

Learn More

Sponsored by Storix