Re: use ADA !
That has nothing to do with Ada, and everything to do with having an idiot colleague who thinks fancy constructs are better. Not only are they a great source of bugs (especially if you use them where behavior is undefined) but they make code harder for others to understand and don't result in the compiler producing better code. It is ALWAYS better to take the simple path.
I'd go so far as to advocate against ever using autoincrement or autodecrement anywhere except maybe in for (;;). There may be other places where most people can follow what is going on, but the compiler produces the same code whether you use a=b[x++] or a=b[x];x=x+1.