The US National Security Agency has published a recent report on cybersecurity. In particular, they talked about possible vulnerabilities in the work of applications with memory.
The organization recommended to stop using C/C++ languages, instead it is recommended to use C#, Go, Java, Ruby, Rust and Swift, which have built-in memory protection.
The department noted that about 70% of vulnerabilities in Microsoft and Google products are associated with unsafe memory handling. For example, they can use buffer overflows or memory allocation errors to give access to target systems. You can read the full report here.
In addition, it is recommended to use compiler-level code protection systems so that simple errors do not become a reason for hacking.
Many developers have already begun to abandon C / C ++ for the sake of “safety and reliability”. In September, this was suggested by Microsoft Azure CTO Mark Russinovich. Also earlier, Linus Torvalds said that he wants to add Rust support to the Linux kernel, because there are objective reasons for this. One of them was the desire to encourage new developers to start working on the kernel.
At the same time, C has been used for more than half a century. Windows, Linux and other operating systems are written on it.