back to indexBjarne Stroustrup: Simplification is the Key to Reliability and Efficiency in Code
00:00:09.080 |
of your inspiration of object-oriented programming. 00:00:14.080 |
That's, you had a connection with C and performance. 00:00:18.040 |
Efficiency was an important, a thing you were drawn to. 00:00:28.240 |
- I really want my telephone calls to get through 00:00:38.120 |
The other end might be in London or wherever. 00:00:42.000 |
So, and you don't want the system to be crashing. 00:00:50.600 |
It might be your bank account that is in trouble. 00:00:55.600 |
There's different constraints, like in games, 00:00:57.640 |
it doesn't matter too much if there's a crash, 00:01:02.240 |
But I'm interested in the combination of performance, 00:01:06.600 |
partly because of sort of speed of things being done, 00:01:11.920 |
part of being able to do things that is necessary 00:01:38.360 |
as many computers and you can't afford your phone anymore. 00:01:45.000 |
because we have solved all of those problems. 00:01:47.320 |
- I mean, they keep popping up in different ways. 00:01:53.480 |
so efficiency remains always an important aspect. 00:01:59.080 |
not just as speed, but as an enabler to important things. 00:02:11.000 |
When I press the pedal, the brake pedal of a car, 00:02:24.040 |
- Let's talk about reliability just a little bit. 00:02:34.880 |
So this is certainly, especially true of autonomous vehicles 00:02:41.400 |
or driver assistance systems that steer the car, 00:02:45.560 |
So how do you think, you know, I talked to regulators, 00:02:51.400 |
about testing the safety of these systems of software, 00:03:00.600 |
So how do we test software systems like these? 00:03:05.600 |
- First of all, safety, like performance and like security, 00:03:16.960 |
People tend to look at one part of a system at a time 00:03:27.160 |
Yeah, that piece of code is secure, I'll buy your operator. 00:03:50.640 |
Furthermore, making an individual part perfect 00:04:09.320 |
Sure, I can break anything that runs on a computer. 00:04:21.160 |
- And it's very true, if you think about safety 00:04:43.600 |
- 'Cause there's so many variables, it's so complex. 00:04:45.600 |
- Well, let's get back to something we can talk about 00:04:54.200 |
and we can try and make sure they crash less often. 00:04:59.200 |
The way you do that is largely by simplification. 00:05:05.440 |
It is not, the first step is to simplify the code, 00:05:11.080 |
have less code, have code that are less likely to go wrong. 00:05:18.000 |
It is not by big test frameworks that you're using. 00:05:36.640 |
and convolutions in your head before it gets down the code. 00:05:41.360 |
That if the way you are thinking about a problem 00:06:01.240 |
When you express things directly, you can maintain it. 00:06:13.400 |
And therefore you can use a smaller number of computers, 00:06:19.000 |
which means there's less hardware that could possibly break. 00:06:34.920 |
- But there are other areas with under constraint 00:06:37.800 |
where you can be simpler than you can be in C++,