Home > Speakers >

Dan Saks

Dan Saks is the president of Saks & Associates, which offers training and consulting in C and C++ and their use in developing embedded systems. Dan wrote the “Programming Pointers” column for embedded.com. He also wrote columns for numerous print publications (when such things existed) including The C/C++ Users Journal, The C++ Report, and Embedded Systems Design. With Thomas Plum, he wrote C++ Programming Guidelines, which won a 1992 Computer Language Magazine Productivity Award. Dan has taught C and C++ to thousands of programmers worldwide. He has delivered hundreds of lectures, including a few keynote addresses, at conferences such as the CppCon, the Embedded Systems Conference, and Meeting Embedded. Dan served as secretary of the C++ Standards committee and as a member of the C Standards committee. Dan collaborated in writing and maintaining Suite++™, the Plum Hall Validation Suite for C++. He also contributed to the CERT Secure C Coding Standard and the CERT Secure C++ Coding Standard.

What C++ Can Do For Embedded Systems

Status: Available Now

You'll find Workshop setup instructions, project files, and slides in the download link located under "Files Provided by the Speaker(s)" on the left (you need to be logged in to access those files).

Prerequisite: Solid knowledge of C. Some exposure to C++ and classes will be helpful, but not essential.

C is a “low-level high-level” language. It has flow control and data structures found in many other high-level languages. It also has “low-level” data types and operators that let you get close to the hardware. The result is a language that’s easier to use than assembly language, but with comparable performance. As such, C has been a natural choice for many embedded applications, including automotive, aerospace, consumer products, and medicine. So why consider using C++ instead of C?

Embedded software keeps showing up in more and more products. More powerful processors and larger memories have led to ever more complex systems, with increasing demands for safety and security. Embedded developers need more effective tools to help reduce, if not eliminate, defects that pose safety and security risks.

C++ is nearly all of C, plus a whole lot more. C++ classes, namespaces, and templates help manage large-scale software. C++’s richer and more rigorous type system can turn potential run-time defects into code that simply doesn’t compile or link. This leads to software that’s easier to use correctly and harder to use incorrectly.

This workshop uses concrete embedded programming examples to show in detail how selected C++ language features can benefit embedded software development. The selected features include:

  • references
  • overloaded functions and operators
  • enhancements for enumerations
  • classes, member functions, and access control
  • user-defined conversions

Attendees will have the opportunity to do programming exercises during the workshop. You'll be able to  compile the exercises using desktop tools such as GNU C++ or Visual C++. We've provided a sample program that you can use to test your compiler setup before you attend.

Go to Session