A thread about scientific computing languages.
1) In the short term, use whatever language gets your work done the fastest.
2) In the long run, learn whatever makes sense to learn for all your future tasks.
3) Matlab is old, expensive, and slow (outside pre-compiled functions).
4) Python used to lack enough features and be slow. Now, it has many packages that outperform Matlab in both feature-richness and speed.
5) Python has become the language adopted by the industry particularly in data science. That is a game-changer. Python is not anymore just another scripting language. Python also has a vast vast knowledge base! Nothing else compares to that.
6) C++ and Fortran are legacy production-code languages. They are as fast as it gets but you need to write a lot of boilerplate code to get the simplest jobs done.
7) Julia is the newcomer that combines C-like speed with Matlab-like prototyping speed, is totally free, is compiled, natively supports multi-threading, and is modern in many other senses of the term.
8) However, Julia does not yet have the knowledge base, lacks all the packages available for Python, and is not yet widely adopted by the industry.
9) If you want to both write scripts and production-ready scientific computing code, the most sensible combination, for now, is Python and Julia. If you already know Matlab, Julia should be relatively easy to get started with. But, then you will have a lot more to learn and use.
10) Both Python and Julia are real programming languages. So you could a lot more than just scientific computing with them. And you don't have to worry about license fees ever again, as both languages and the vast majority of their packages are free (libre).
You can follow @amir_zadpoor.
Tip: mention @twtextapp on a Twitter thread with the keyword “unroll” to get a link to it.

Latest Threads Unrolled: