It all depends what you want to do
Lots of people mix and match code e.g. C (or maybe even assembler) for "close to the metal stuff" and high level language for other stuff.
..Depending on your language you may have to use some "unsafe " style declarations when making use of the "low level" dlls (or whatever objects you are using)
But in decent coding practices potential nasties tend to be in certain areas only .. just because you can do all sorts of pointer / memory tricks in C does not eman you should be doing that all the time - you try and limit it (helps readability a lot too)