Fast forward to 2010 or so, IPython has reached a 1.0 milestone, and has evolved significantly to an extremely powerful platform. However the aspect that I find the most useful is notebooks that display in a web browser. It's supposed to be somewhat reminiscent of Mathematica which I've never used.
Notebooks contain blocks of executable Python code and their output. The Python code can be edited and run/rerun right there from the browser. But where it really gets interesting is that rich multimedia stuff, especially graphs can be displayed right there, in-line. It's pretty enabling for scientific computing, enabling very short hacking and visualization cycles almost like a spreadsheet.
I really should write a lot more about this. It's not just for Python, and it's not just for the web, it seems like it could be a big thing. It should also make teaching and learning a lot easier.
Check out:
- The IPython Notebook
- How to run code in the IPython Notebook,
- Basic Output
- Rich display system
- matplotlib tutorial
There are a few things that I think could use improvement.
- More Document Structure, Real Head 1, 2, 3 and Table of Contents. I'm a big fan of Mediawiki's nice native built-in structure. It really helps organize documents in my opinion. It's also one of the biggest things lacking from Evernote (IMHO).
- Native Tabular output widgets. There are some extensions but they aren't quite there yet. This could make an awesome SQL Workbench, but it could really use ways of presenting and working with tables as output cells.