>>23
I have a longer reply but, in short:
+ Pointers (as they appear in C i.e. with pointer arithmetic) aren't useless.
+ You do lose something when you lose pointers (especially in C)
+ Understanding programs that use pointers is not a problem and is not macho or special.
+ Understanding, identifying, and decorating "problem spots" with regards to pointers in C is not hard e.g. you should know how to analyze loops, memory bounds etc.
+ The problem isn't that it's hard to do the above, it's that it is annoying to do it all the time and constantly being aware of it: There is no easy way to abstract and automate this in C!
+ More simply, C sucks at metaprogramming.
+ Ironically, pointers are the one thing in C which helps with (runtime) metaprogramming (self modifying programs, run time code generation, intercession etc.), but not by themselves.
+ There are much more pleasant and less round about ways to do metaprogramming (e.g. how Common Lisp and Smalltalk do it).
+ With regards to systems programming and security; both depend more on physical reality rather than language features (C, Common Lisp, Smalltalk implementations etc. all allow you to inline assembly and that's that).