Meeting 25 April 2019

Bjarne Stroustrup 2008 interview for Embedded Systems Conference keynote

How have you seen the embedded systems industry change over the last 20 years?

The ubiquity of embedded systems (in 2008!)

What would you say is the most difficult aspect of your work with C++?

Combining flexibility with performance is hard, especially when you have to remain backward compatible.

C++ had $5000 over 3 years of advertisement budget.

If you were starting off in the industry today, what would you want to invent, and why?

Better support for hard realtime constraints, reliability, concurrency. A combination of language and tools, compilation and execution techniques. Perhaps a subset of a general-purpose language, or a subset of C++ (1/10 in size).

Are there any aspects of C++ that you wish you could change?

  • C++ syntax is baroque (some decisions were made because the C compiler had to fit in 48K memory)
  • Inside C++ there is a smaller language (1/10 in size)
  • Scope, RAII
  • Classes, templates would still be there

Did you ever imagine that C++ would become so important?

Performance still matters.

Is there any reason for a competent programmer to use C when a C++ compiler of comparable quality is available for a target platform?


What's your opinion on the embedded C++ subset?

  • A bad idea. No templates (?!)
  • Need rules specific for the area.
  • Start with a superset (language + libraries), then cut off unnecessary things.
    • JSF was mentioned!
  • In a hard realtime environment
    • Don't rely on a general-purpose free store manager
    • Be very careful with C pointers

What's next after C++?

C++ will be around as a major factor for another 20 years at least. Next generation (C++0x) will be finished in a couple of years. It will be a significant improvement.

Teaching, writing a book for beginners. Researching tools and techniques.

Work on C++0x will wind down over the next few years. (!!)

Which programming techniques and language features are the most important?

With C++ you combine different techniques and features to solve the problem. This will improve with C++0x.

With hard realtime constraints we shouldn't use free store or exceptions ("I'm very sad"), given the tools we have today.

Interactive C++: Meet Jupyter / Cling - Neil Horlock [ACCU 2019]



Greg Ferro:

An engineer who works remotely should be called an 'engifar'