Questions to Bjarne Stroustrup


I’m looking forward to your interview with Bjarne Stroustrup. I have a few questions that you might consider asking. (But feel free to modify them, incorporate them into your own conversation, or just don’t ask them.)

  • When I learned C++ more than 20 years ago there were only books and in-person trainings. I learned from “The C++ Programming Language” and later from Scott Meyers “Effective C++” books. Nowadays there are lots of C++ books, tons of text and video tutorials (on Youtube, Udemy, Learning Path, …), conferences and recorded conference talks, spaces on social media (e.g. Reddit, Twitter, and Discord), Q&A websites like StackOverflow, etc. How has that changed the way people learn C++? Where are the deficits? (I’d guess bad sources and outdated patterns and practices).
  • Do you have some general advice how somebody who already knows one or two programming languages can learn C++? Should they start with a book, should they move quickly to implementing a toy project, can websites like Exercism help? How important are code reviews and advice from experienced programmers?
  • Oracle offers certificates for Java programmers. As far as I know nothing similar exists in the C++ world, right? Do you think it might be useful if some larger organization would offer certifications and tests, or is that mostly useless?
  • In the past few years a lot of new programming languages got love and attention. Some of them have features that are absent in C++, e.g. Go’s builtin goroutines, Rust’s borrow checker, Nim’s compile time macros that modify the AST… Do you think some of those things might make it into the C++ world?
  • Do you thing C++'s committee-driven approach with its 3-year cycle, its many stakeholders, rather tedious proposal process, and strong backwards compatibility can still compete with new languages that can move a lot faster?
  • Would you recommend C++ as a first programming language? If yes, what would be a good second complimentary programming language? If not, what could be a good first choice for beginners?

Awesome - thank you!

Everyone else - do you have any to ask?

Only very general ones:

  • What is the future of C++?
  • What is wrong with C++?

These aren’t fleshed out at all, but hopefully they are interesting nonetheless.

Who styles his hair?

Other questions:

  • Are there features that he thinks are now unofficially deprecated - things that he’d not recommend people do although they’re possible because there are better ways?
  • How much does he control or guide the future of C++?
  • What’s the feature of C++ that not enough people know about?
  • What led to him writing C++? Did he expect it to turn out as it did?

Maybe, as a warm-up, you can ask him if he is recognized in public. Because at least by name, he is quite a celebrity, isn’t he?

I would suggest asking him about Carbon, but I seem to remember reading an interview where he was asked about it and he replied that Carbon was in too early a stage to have an opinion about it.

C++ has built-in operators new/delete for dynamic memory. This is fine because you don’t need use a headers for such a basic operations. Will we see more built-in stuff for common low-level operations? Like for example:

  • operator move as analogue of std::move from <utility> header
  • built-in analogue of assert
  • stuff for working with memory - memcpy, memcmp
  • operators for SIMD calculations
  • built-in common types like size_t or initializer_list
  • maybe simething for parallel execution

How does he see the role of the programmer changing with the maturation of AI-generated code?