Which first language do you think is the best for learning programming techniques?

I'm a professor from a brazilian university and this question is always made. In different courses, I had already worked with Pascal, Scheme, C and Java. What do you think about them? Would you have any other suggestion?