Jupyter

The Jupyter Notebook supports over 40 different programming languages, and Python is just one of them. That means that once you know how to use the Jupyter Notebook, you can use it for other languages.

The Jupyter Notebook is making one of the most significant advances in the scientific computing. Here is what Nature says about the Jupyter Notebook in 2014

The free IPython notebook makes data analysis easier to record, understand and reproduce.

Here are a few examples of IPython Notebooks for science: