We (my friend and I) did everything in Basic. We had our first programming job at 14 & 13. And that was building mailing list apps for people (this was superseded by the database).
My main driving force has always been get 'enough' knowledge and dive in. I still do that today and now there are a gazillion more resources on the web to help. I grew up in the model-T days of computers.
Today if I was to advise someone on building a desktop or server app, I would probably say do it in Ruby or Python. And of those two, probably Ruby - it's just a little easier to get into.
iOS and Android are definitely huge, but I would probably suggest to someone to learn Swift and go for iOS if they wanna go the mobile route. iOS pays more and Swift is enough like Javascript to where you could transition a little easier than Java. Nothing wrong with Java, of course, but it's way bigger - like you getting dropped in a jungle and trying to find a way out.
However. I am a late comer to seo and _making money on the web_ via 'passive income'. My biggest recommendation to a kid might be to not program at all, but learn how to setup content sites and go for affiliate marketing, google adwords, etc. This is the complete opposite of coding for a living. Why would I recommend this?! Because you can make money this way while you sleep (see Tim Ferris & 4 hour work week). If you code for a living and trade time for money, you will never be able to do this. I've read many books from rich people and they say this is the worst form of earning you can do because you can never get time back, so time is the most valuable thing you have.
I feel like I've done a lot of models on the web - startup, my own products, code for cash, code for equity - and the one I feel strongest about is the passive income approach. It's not guaranteed, but if you can make it work, you'll be way ahead of the guy - in terms of making money - that trades his time for programming. Check out http://www.smartpassiveincome.com and prepare to depressed and happy.