Because pointers are broken and harmful.
Because pointers are broken and harmful.
According to you, all softwares are broken and harmful?
Programming languages can provide a safe interface to pointers (just like Rust do with `Box<>`, `Rc<>`, `Arc<>`, or C++ in some ways with `shared_ptr<>` and `unique_ptr<>`).
Also, "Why not?" here clearly means "I did it for fun" / "Because I can".
Basically, every statement of the form "X is broken and harmful" either don't understand X, or have read it somewhere else without giving a second thought.
X exists because it had some use at some point. Y and Z are implemented thanks to X. Now we no longer need to do X by hand. This does not make it broken nor harmful.
Are lower level technology’s more dangerous, no.
Are they more difficult to get right? Yes.
Do we want to stop worrying about finicky correctness or pointers and worry about building more complex things? Probably yes also.
Which is why I mentioned the safe higher-level interfaces provided by programming languages.
Yet, I think it's important to learn about the lower level technology to better understand the higher level technology.
And definitely stop spitting on lower level technologies.
I mean... are we to throw away all code in numerical methods because the canonical, automatic memory management is good enough for most professionals?