TR: Is C++ too hard for most programmers?
BS: It shouldn't be. To use C++ well, you have to understand design and programming technique. In a sense, my critics are right: not everybody should write C++, but then I never claimed they should. C++ is designed to allow you to express ideas, but if you don't have ideas or don't have any clue about how to express them, C++ doesn't offer much help.
TR: How do you account for the fact that C++ is widely criticized and resented by many programmers but is at the same time very broadly used?
BS: The glib answer would be, There are just two kinds of languages: the ones everybody complains about and the ones nobody uses. The main reason for C++'s success is simply that it meets its limited design aims: it can express a huge range of ideas directly and efficiently.
TR: In your book The Design and Evolution of C++, you claim that Kierkegaard was an influence upon your conception of the language. Is that a joke?
BS: A bit pretentious, maybe, but not a joke. A lot of thinking about software development is focused on the group. Corporate practices can be directly hostile to individuals with exceptional skills and initiative. I consider such management of exceptional people both cruel and wasteful. Kierkegaard was a strong proponent of the individual against the crowd. I can't point to a specific feature of C++ and say, "See, there's the influence of the 19th-century philosopher," but he is one of the roots of my reluctance to eliminate expert-level features. I'm not particularly fond of his religious philosophy, though.
TR: What do you regret the most?
BS: No regrets! Well, of course I dream of what I might have done differently and better--but who am I to second-guess, say, 1984-vintage Bjarne? He may have been less experienced than I, but he was no less smart, probably smarter, and he had a better understanding of the world of 1984 than I have. C++ has been used to build many systems that enhance our lives, and it has been a significant positive influence on later languages and systems. That's something to be proud of.
Comments