Python
For my PhD, I have used Python for almost everything, e.g. running simulations on
SpiNNaker, playing around with
Django and analysing simulation results. I will list some of my favourite libraries here:
- Matplotlib - see above
- Numpy - vector and matrix operations using C and Fortran under the hood
- argparser - easily pass parameters into scripts with useful names
- brian2 - neural simulator, however I use it for the SI units
- scipy - all things statstics, plays well with numpy
- sklearn - all things learning, I use it for statstics
- Jupyter - notebooks are useful for code with interspersed markdown. Sometimes useful when developping plots.
Everyone needs a good debugger / development environment. I recommend
PyCharm, although development can be done using other tools, such as Eclipse. I also have several Python environments; pre-packaged ones come with useful libraries such as numpy, scipy, Jupyter pre-installed. I use
WinPython on Windows and
Anaconda on Linux.