As a physicist I'm really glad that Nature talks about IPython. Most of my teachers are only familiar with Matlab or maybe Maple or Mathematica.
I think the main problem with them is not reproducibility. The main problem with these software that you can't really verify the correctness of the results. You will never know the exact algorithm being used for a given simulation or data evaluation. Especially Mathematica uses complicated adapting methods for numerically integrating, solving differential equations, nonlinear regression and so on, but you will never know the exact algorithm being used.
Perhaps that's what they use to teach because those languages are reasonably easy to use from a math/physics point of view, even if they're somewhat limited from a CS point of view. I taught myself to program early on, but for others who went through honours in maths with me it wasn't so easy.
Don't be surprised if your lecturers use other languages on their own work. At my university, everybody in the math department uses Matlab and Mathematica. However I know that a lot of the guys who do smooth particle hydrodynamics use Python and Fortran, and my honours supervisor said he once programmed in PostScript (which isn't so much practical, but it's impressive and shows he knows how to program in languages other than Matlab).
As much as I hope things like this will be a tipping point for python in the scientific community (from a major player to the dominant player), monoculture hurts everyone. Fortunately, one of the great things about ipython/jupyter is that it's designed to be language independent.
I'm sure a lot of folks here are already aware of this, but just in case you're not: There are Julia, R, Haskell, Ruby, and who-knows-what-else kernels for ipython/jupyter.
I know the basic idea has been around for a long time (e.g. Mathematica), but ipython really is an incredibly well-done and flexible execution of the idea.
IPython needs to be called Jupyter asap or else everyone would think this is a Python only application which happily as an R guy it is not.
Love that there are so many "good" open source options in the ecco-system and people will not only show the work BUT also include the cleaning and tidying up of the data which is equally important in my opinion.
We're planning to release IPython 3.0 some time around the end of this year, and after that, we'll be focussing on splitting the project up and renaming it (the bits that run Python code will still be IPython).
This is huge. I keep wishing they would hurry that renaming process up. People from the R side may have less motivation though, given that more people seem to use the more publication-focussed knitr approach to reproducible computing.
Knitr is better for me for creating PDFs and Word Documents (sadly needed) and I think knitr with RMarkdown and pandocc is amazing and best in class with code chunks.
I like IPython NOT for the reproduction but I like interacting with my script with cells. If I was working with a team I would prefer IPython's approach.
It’s great to see IPython here. I think Mathematica is missing a huge opportunity in this area by being proprietary and by not providing a JavaScript implementation of the CDF player.
The biggest strength of the IPython Notebook interface is in communicating computational thinking.
With computational thinking I mean any subject matter where the way of arriving at the results is at least as important as the results themselves.
With IPython Notebook, you can perform live demos (e.g. live_reveal extension), communicate with your future self or collaborators and even peer reviewers.
I see this: "It looks like we're full up. Every single IPython Notebook is in use right now! Try again later and maybe you'll have better luck. Sorry for the inconvenience!"
Can someone tell me something about the notebook? I want to decide if this is something I should bookmark, and visit at a later date.
It uses tmpnb (http://lambdaops.com/ipythonjupyter-tmpnb-debuts) to spin up docker instances of a relatively basic IPython demo. I guess they are a bit overloaded right now. Pretty nice gateway drug to show the benefits of IPython to non-technical folks.
It's a tech demo; it'll be more locked down (no network access). The main thing is to tweak the host so the docker containers are routable to the proxy but no external network.
The 24 core Xeons are our (rackspace) OnMetal high memory boxes, you don't actually have 24 cores, docker just pulled that from the host, each container is limited.
A little nitpicking, I change x^2 to xsin(x), then to xMath.sin(x), then x*math.sin(x) to no avail. In wxmaxima you just have an iterative notebook and you have available a lot of symbolic and numeric computations with no fuss. Also you can create section, subsections, convert to pdf and html, save in xml, and much more. What is missing in wxmaxima is a tool to use your mouse in a much more dynamic way.
I love the reproducible science movement and iPython is perfect for that. Glad to see Nature talking about it.