A Replacement for Matlab...?
Python in combination with 3rd Party Packages: Numpy, Scipy, Pandas and Matplotlib can be used as a replacement for MATLAB. The combination of NumPy, SciPy and Matplotlib is a free (meaning both "free" as in "free beer" and "free" as in "freedom") alternative to MATLAB. Even though MATLAB has a huge number of additional toolboxes available, NumPy has the advantage that Python is a more modern and complete programming language and - as we have said already before - is open source. SciPy adds even more MATLAB-like functionalities to Python. Python is rounded out in the direction of MATLAB with the module Matplotlib, which provides MATLAB-like plotting functionality.
Most specialized libraries have Python extensions (but not all). So really there are only really specific cases you will need Matlab to use a specific proprietary library - like the Signal Toolbox or something specialized. Most data analysis, scientific computation, etc these days can be done with free tools such as Python + Extensions and/or R.
Some specialized libraries you need to worry about performance. Python is not the fastest language out there. - The solution is to 'wrap' your performance code
Links to an external site. - and call it from Python. - This is an advanced feature we are not covering, but there is a solution.
In practice - use a hammer to nail things, a screwdriver to screw things - use the tool you need for the job you are doing. C++ is great for performance - but difficult to program and manage. Matlab is good for scientific computation - but proprietary, costs money Links to an external site., extensions cost money Links to an external site., and slow(er). (- to be fair Matlab has a $99 Links to an external site. student version - for student use - but you cannot use it outside of learning...you need the full version)
I use C++ when I need to. Python when I need to. C# for Unity. Matlab when I need a very specialized toolbox.... but learn to use the tool you need when you need it.