Unbiased Android Programmers,

If I want to learn to build (by using a programming language and not by using a site like appsgeyser.com), then ...

Q1. Which high level programming languages should I learn ?
Give ranks according to ease of learn & ease of use.
And give indepth explanations why you choose it/them over the others.

And,

Q2. Where are the websites that tutor you for free ? Which ones you recommend over the others and why recommend them over the others ?

Q3. Same goes for paid tutorial sites.

Show us some apps you have built.

The above 3 questions are related to non-programming apps building high level programming languages. Now imagine, I got the same 3 questions regarding Android game programming.
Q4, Q5 & Q6.

Cheers!