If you want to learn on how to write programs, I would suggest Python, since with Garbage Collection, terse and readable code, a nice set of libraries, it will ease a lot of the beginner's mind on how to write the program, instead of wrangling with how to make my program work.
As you progress along python, you will slowly meet obstacles that would require an in-depth understanding of how memory work, etc. This is done gradually after you have developed a consistent model of how to write a program (this is the most important thing of all) since python is beginner friendly and consistent.
As for programs where you'll start to need the speed of compiled languages, try out D, which is essentially C++ done right. D leaves a lot of freedom to the programmer, yet provide a safe place to test their limits.
I've used Python and only started C++/Java/D in that order after the need for faster execution. However, I still maintain the coding style I've used in Python: Write by humans, for humans.
Python encourages you to focus on the content of the code, not the words(syntax) of it.