I'd say Haskell. It is a good way of learning how datastructures work, recursion, and it makes you a better programmer in general. There is a very good tutorial site called Learn You A Haskell For Greater Good:
http://learnyouahaskell.com/ which mediates the awesomeness in haskell in a fun and educational way.
The most common problem the teachers is meeting when trying to learn programming to pupils is the fact that they choose a language which is built on object oriented programming, which in the beginning is quite confusing, especially for a beginner. Static, what is that? Public, private, protected, what is that? Etc. If you decide to learn haskell, you will be mostly concentrated on functions which learns you the concept of arguments and returning values.
However, if you wish to learn a more common language, try to go into the procedural programming first, so you learn about loops, functions, if-statements and what not before digging into oop patterns and such. I'd recommend Python which supports several different programming paradigms, but mostly because you can jump right into it without knowing anything about classes etc.