Yes, so called “dumb pointers” are very dangerous. C++ (I don’t have as much experience with C) has many parts that you just shouldn’t use unless you have a very very good reason.
In the case of pointers, you should use smart pointers (std::shared_ptr or boost::shared_ptr) instead. A lot of great features were added in C++11 (a lot of very Pythonic features, IMO).
Most of the time, even smart pointers aren’t needed if you design your objects well.
I don’t actually hate Java, I really don’t like the enormous namespaces and names. It probably also bothers me how close to C++ it is, without being C++. I am just not as familiar as I am with C++. Python is the only other language where I’ve actually picked up enough to know as well as C++. Perl is very confusing to me.
BTW, have you seen Sandify? And interest in contributing or reviewing it?