Drop Myself fir Mongo? That's absurd as your going from relational RDBMS to no SQL.You can do a lot of things with Python and it's very easy to learn if you already know another language. I've only used it for scripting and machine learning, but there's a popular web framework called Django that you might want to look into. It's also much easier to write object-oriented code than it is with JavaScript. But for the purposes you described, a JavaScript framework like Angular/React/Ember would probably do. I'd also dump MySQL for MongoDB since it supports straight JSON (and is easily scale-able if that's important to you).
I agree with Sam .. if you are trying to create applications that people run on common devices like smartphones, Macs, Windows PCs, etc, I would avoid learning scripting languages such as PHP, python, javascript, etc.I used to write freeware in Visual BASIC 6 (classic, not to be confused with dot net). I'm interested in learning a new language so I can write freeware again, but I want to also be able to write Linux and Mac versions this time. Is Python a good choice? Or would I be better off with C++?
@Reverend Conehead, that is completely dependent on what the product is!
I can write in both Python and C/C++, but most of the time I just Python for my games, tasks, glue etc. If I were writing a huge GUI application (like a browser, etc) or something that is required to process a lot of information or OS level really fast I would likely write it in C/C++ or even more probable Java. Also, if you intend for it to not be open source, Python wouldn't be your top choice.
Yes, I'm aware you can package python apps into binaries where it packs the bytecode and the Python executable and libraries into a single binary file, though I do not like those implementations most of the time.
I agree with Sam .. if you are trying to create applications that people run on common devices like smartphones, Macs, Windows PCs, etc, I would avoid learning scripting languages such as PHP, python, javascript, etc.
As for which language you choose, it will depend on the target devices/operating systems you want to support. Whichever language you choose though, I would make sure to focus heavily on materials that teach design principles along with the language itself.