Open source programming languages are ideal for reproducible research because scripts can be written that preserve all the activity. The choice of language is personal, but it’s easier if you chose a language that others in your field are already using. You can then use a development environment as your coding interface. Finally, you should find appropriate libraries, which function as pre-made code shortcuts.
Many researchers in the physical sciences use Python. Python is a general-purpose programming language, and so can be applicable for a wider range of tasks beyond data analysis; it is also much easier to integrate Python scripts into outside systems like web apps or production databases. Some consider it easier to learn than R because of its clear syntax.
Online:
At UW:
Many researchers in the biological and social sciences use R, which has a large library of diverse statistical package support. R is great for manipulating large tables of data and running analyses that others have coded.
Online:
At UW: