Personally, while web based stuff is everywhere, javascript is shit, and always will be. If you want it to be mobile though, thats a fine start.
However, I defend my my statement that desktop applications, especially desktop applications that are memory intensive or computationally heavy, should use a more low level language. There are too many examples of programs that were fine using java, until they grew to the point where it isn't sufficient to be responsive enough. There are a lot of projects that started in a higher level language, but had to convert much of their engine to a lower level language once it grew too large as well.
If you're just learning programming, or if your application will be lite and doesn't need the efficiency, python is fine. Scripting languages in general will be fine. But there is much more to the world than scripting languages. I would recommend either C# or java to a first time programmer. Easy enough not to get too heavily confused, yet strong enough to get an idea of how programming works in general. Of course though, anyone who considers themself a programmer better know more than 1-2 languages.
Personally, I have a problem recommending people learn programming in a scripting language. There are certain things you never learn in a higher scripting language. Of course, most of that isn't necessary if you are just making web applications, but knowing it makes you a stronger programmer. Pointers and memory management are the obvious example. I've met too many java developers that claim to know and understand C++, but struggle at sight of the first pointer, or don't understand how memory works properly. For instance, when simulating an operating system, I saw a guy try and convert hex values into decimal before storing them, despite the fact that its binary representation is hex, and the system will just convert it back.
Using a scripting language inside of a game engine isn't new, and should be considered standard if you're making a game of any size using a low-level engine. I know HeXen used a scripting language for certain events, and I assume that it was used in Doom as well (although HeXen did extend the Doom engine, so maybe not).
TL;DR, C++ has a place in the world, javascript and python have a place as well. Unfortunately, most dev's I've met seem to believe everything should use a scripting language, or believe java is a replacement for lower level languages. Everything has a place, and if your application is computationally heavy and a desktop application, it should use a lower level language. Languages are only replaced when their use is better fulfilled by a newer language, not because its old. We didn't stop driving car's because they are soooo 1800's