Pointers and manual memory management are essential features for developing operating systems, libraries and embedded hardware. These should ideally be subjected to extensive testing and debugging prior to release.
For most other applications; particularly those exposed to public networks, these are foot guns that should be used sparingly if at all. The risks often outweigh the rewards --- and programmers have provided decades of proof.
Google understood this when they created Go. It's not a full solution but it does try to mitigate the problem.
For most other applications; particularly those exposed to public networks, these are foot guns that should be used sparingly if at all. The risks often outweigh the rewards --- and programmers have provided decades of proof.
Google understood this when they created Go. It's not a full solution but it does try to mitigate the problem.