The same mental shift could be attributed to R as well. For instance use the *ply function (apply, lapply, sapply, tapply) if you want to loop over vectors of data instead of using "for" loops.
Nope; *ply are implemented as loops, you are only saving time on reallocating memory structures. Real speed-up is gained from using vectorised functions and operators (implemented in C or Fortran in R engine or a certain package) for whole vectors.