# Writing robust C++ code for critical applications

- Institution: CERN
- Department: Conferences
- Speaker: Miguel OJEDA SANDONIS
- Year: 2015
- Language: English
- Subjects: Literature and writing
- Source: [CERN](https://videos.cern.ch/record/3011419)
- Licence: [CERN](http://copyright.web.cern.ch)
- Who can watch: Teens profiles and older (sources give no ratings; placed by Invisible Network from the source's own words)

**C++** is one of the most **complex**, expressive and powerful languages out there. However, its complexity makes it hard to write **robust** code. When using C++ to code **critical** applications, ensuring **reliability** is one of the key topics. Testing, debugging and profiling are all a major part of this kind of work.

In the BE department we use C++ to write a big part of the controls system for beam operation, which implies putting a big focus on system stability and ensuring smooth operation.

This talk will try to:

- Highlight potential problems when writing C++ code, giving guidelines on writing defensive code that could have avoided such issues - Explain how to avoid common pitfalls (both in writing C++ code and at the debugging & profiling phase) - Showcase some tools and tricks useful to C++ development

The attendees' proficiency in C++ should not be a concern. Anyone is free to join, even people that do not know C++, if only to learn the pitfalls a language may have. This may benefit future decisions on the design phase of a project..

0:00:00 Slide 1

0:02:09 Slide 2

0:05:19 Slide 3

0:06:23 Slide 4

0:06:28 Slide 5

0:07:10 Slide 6

0:07:51 Slide 7

0:08:22 Slide 8

0:10:35 Slide 9

0:11:07 Slide 10

0:11:18 Slide 11

0:11:58 Slide 12

0:12:16 Slide 13

0:13:58 Slide 14

0:14:24 Slide 15

0:14:31 Slide 16

0:14:39 Slide 17

0:17:25 Slide 18

0:20:01 Slide 19

0:21:31 Slide 20

0:23:01 Slide 21

0:24:00 Slide 22

0:26:07 Slide 23

0:27:01 Slide 24

0:28:16 Slide 25

0:30:15 Slide 26

0:30:24 Slide 27

0:32:42 Slide 28

0:32:46 Slide 29

## Lectures

1. [Writing robust C++ code for critical applications](https://invisiblenetwork.ai/learn/cern/3011419/80b4a39bbb17), 34 min (CERN's player)
