Different application areas have needs for different kinds of safety and different degrees of safety. For example, the possibility of a resource leak (of memory, file handles, locks, and thread handles) can enable denial of service attacks. Simple lack of data validation is a major source of program misbehavior and security violations. We don’t consider a system that relies on manual resource release safe. C++ has offered facilities for handling resource release automatically for decades. Most newer languages do not.
https://media.hachyderm.io/media_attachments/files/111/553/611/206/391/780/original/91e3db916c2202d3.png