Программист на Rust учит C: 8 неожиданных откровений
C for Rust Programmers

Автор, впервые изучивший Rust, делится открытиями при изучении C: булевы значения не всегда были встроены, строки завершаются нулевым байтом, целые числа зависят от платформы, обработка ошибок отсутствует, а массивы в функциях превращаются в указатели. Он показывает, как эти особенности приводят к ошибкам, и сравнивает с безопасностью Rust.
C places full trust in the programmer to _do things right™_ and gives few facilities for contracts or safe abstractions. I personally disagree with this approach.