Driverless Cars Will Compete -- But Only With Each Other -- In Formula E Races
Formula E racing pits single-seat electric cars against each other in high-speed track competition, but the cars -- aside from their powertrain -- are conventional enough, complete with a steering wheel and a human at the wheel. Now, though, the Formula E series will also incorporate self-driving cars. From the article: Ten teams, each with two cars, will square off against each other in hour-long races on the same circuits that the Formula E cars will hurtle around. The cars will be the same as the next in order to get the teams’ developers to focus on creating better algorithms and artificial intelligence to win. It takes inspiration from how the Formula E teams were required to run the same cars in the event’s debut season, which meant there was more focus on the development of battery technology.
The winning team will use Rust to program their car.
It is a systems programming language so it can be used for systems like artificial intelligence driving a car.
It is blazingly fast which is what you need when driving fast.
It prevents segfaults which is good because you don't want a segfault when you are driving!
It guarantees thread safety which means the fabric on the seats of the car will remain clean and intact.
It has zero-cost abstractions which will keep the price of the car down.
It has move semantics which is just what you want from a car: movement!
It has guaranteed memory safety which is good because you don't want your car to forget where it is.
It has threads without data races which is critical because it means that there can be no data racism because there are no races.
It has trait-based generics which are good because they mean that, generically speaking, the car has good traits.
It has pattern matching which is very important because the car needs to differentiate between what is road and what is not road.
It has type inference which is good to have because it can infer what is road and what is not road.
It has minimal runtime which is totally what you want in a race: you want to run it in the shortest time possible!
It has efficient C bindings which means it's as fast as C because most Rust code actually gets written in C and then glued together using Rust because C is a much more useful, efficient, and faster programming language than Rust is.