September 18, 2012: What's In Your Stack?

As a long-delayed follow-up to a conversation with Travis Oliphant: based on our experience, researchers who are computational novices want more than numerical computing and visualization tools. They want a complete stack—an end-to-end, nachos-to-cheesecake [1] solution to their basic computing needs, including an editor, a debugger, a version control system, blogging tools, data management tools, some way to create presentations and papers, and so on. My personal stack includes:

These are all as important to researchers' day-to-day lives as Python, NumPy, Matplotlib, or Pandas, and like most of you, I use them all together—I use Python scripts to generate LaTeX tables from SQLite databases for inclusion in papers that I put under version control, and so on. What we're seeing in workshops, though, is that most computational novices (i.e., most research scientists) either don't think to integrate these things, or really struggle to do so (and reinvent a lot of wheels along the way).
My question is, how far do you think we (NumFOCUS, Software Carpentry, the community as a whole) should try to go? I personally think that showing people how to write readable code is in bounds, but showing them how to create a comprehensible paper or presentation is not; everyone else will have different dividing lines, and I'm very curious what those are. So:

  1. What's in your stack?
  2. Which parts of that do you think we (the people who show up at SciPy conferences) ought to be trying to teach, and which are someone else's job? (Bonus marks if you can clearly identify who that someone else is.)

[1] My preferred variation on "soup to nuts".

< OlderNewer >

This post originally appeared in the Software Carpentry blog.