Well, I am not going to throw OldEngr63 out, but I will certainly vote against Basic...it just does not have the ecosystem, development and popularity that Python has. Python has risen past several other early 90's languages (tcl, Java, Perl) to become not only the scripting language of choice for many open source programs but also for commercial ones and even the language many open source programs are written in.
If you learn Python, you will also know how to develop and do scripting for many other programs.
Like Matlab, Python (numpy, scipy, matplotlib) has just about every toolbox (module) you may need for specific tasks like physics, linear algebra, graph theory, networking, molecular biology, optimization, visualization, etc.
As far as Python's similarity to Matlab is concerned, there are introductory Python pages out there for Matlab users:
http://sebastianraschka.com/Articles/2014_matlab_vs_numpy.html
http://researchcomputing.github.io/meetup_fall_2014/pdfs/fall2014_meetup13_python_matlab.pdf
Python vs Matlab
Numpy for Matlab Users
(I have been using Fortran for sometime and not C/C++, thus, I will not comment on the latter, needless to say, they are also very popular and powerful choices)
Modern Fortran (90 and beyond) has taken quite a leap from Fortran77...it is very friendly, handles arrays a-la-matlab, has modules, derived types, interfaces, overloading, encapsulation, (even object oriented paradigm starting on Fortran2003) and a huge amount of Fortran code out there that you may inherit.
Fortran is also very compatible and easily called from Python (f2py)...when Python is used as a "glue" language.
Here is a page comparing Python and Fortran.