Episode 91: Kevlin Henney on C++

Topics covered
Popular Clips
Episode Highlights
Origins
C++ has its roots as an extension of C, designed to offer more sophisticated systems programming capabilities. explains that C++ was created to provide a systems language with advanced features beyond those available in C, allowing for greater abstraction and flexibility in data structures 1. This evolution was driven by the need for a language that could handle complex systems programming tasks while maintaining control over low-level operations. Henney notes, "A systems language is a language in which you can build pretty much anything and you can control the parameters that you care about" 2.
Language Ages
The evolution of C++ can be divided into distinct ages, each marked by significant advancements and standardizations. Henney describes the early stages of C++ as characterized by its object-oriented features, such as single inheritance and virtual functions, which were influenced by languages like Simula and Algol 65 3. The upcoming "fourth age" promises further enhancements, particularly in templates and type systems, reflecting the language's adaptability and growth 4. He humorously remarks on the complexity of templates, saying, "The length of the error messages. Okay, that's the cynical response" 4.
Modern Relevance
Despite perceptions of obsolescence, C++ remains vital in certain domains, particularly in systems and embedded programming. Henney argues that while C++ may not be as prominent in media as languages like Java, it continues to be essential for tasks requiring direct hardware interaction and performance optimization 5. He compares C++ to "jeans and t-shirts," emphasizing its practicality over trendiness 6. Henney states, "It's not necessarily sexy and fashionable, but as with fashion, if we look at the world of fashion, for instance, inspiration, because it is somewhat like software development" 6.
Related Episodes


Episode 159: C++0X with Scott Meyers
Answers 383 questions

Episode 97: Interview Anders Hejlsberg
Answers 383 questions

Episode 96: Interview Krzysztof Czarnecki
Answers 383 questions

Episode 462: Felienne on the Programmers Brain
Answers 383 questions

Episode 57: Compile-Time Metaprogramming
Answers 383 questions

SE Radio 617: Frances Buontempo on Modern C++
Answers 383 questions

Episode 36: Interview Guy Steele
Answers 383 questions

Episode 142: Sustainable Architecture with Kevlin Henney and Klaus Marquardt
Answers 383 questions
Episode 494: Robert Seacord on Avoiding Defects in C Programming
Answers 383 questions

Episode 126: Jetbrains MPS with Konstantin Solomatov
Answers 383 questions

SE-Radio Episode 251: Martin Klose on Code Retreats
Answers 383 questions

Episode 403: Karl Hughes on Speaking at Tech Conferences
Answers 383 questions

Episode 38: Interview James Noble
Answers 383 questions













