Not different root causes, fewer root causes. Threading problems and race conditions exist in all languages, but memory corruption does not; the majority of languages won’t let you do things like write out of bounds or use after free.
Yes, memory corruption in particular is no longer an issue in most higher languages, but memory management in general has become more complicated and less transparent. The Law of Leaky Abstractions ruins everything.
In any case this is reasonably off-topic for this post, so I won’t belabor the point further.
Not different root causes, fewer root causes. Threading problems and race conditions exist in all languages, but memory corruption does not; the majority of languages won’t let you do things like write out of bounds or use after free.
Yes, memory corruption in particular is no longer an issue in most higher languages, but memory management in general has become more complicated and less transparent. The Law of Leaky Abstractions ruins everything.
In any case this is reasonably off-topic for this post, so I won’t belabor the point further.