4 ms·
I like his language toolbelt for this kind of work. At a minimum, I would recommend learning python (numpy/scipy), R, and at least one nice functional language
by tel 17y ago
I like his language toolbelt for this kind of work.
At a minimum, I would recommend learning python (numpy/scipy), R, and at least one nice functional language (probably Haskell, Clojure, or OCaml).
This is effectively what I use as well. Python as a general purpose data munging library that's good for all of your dirty work whenever you need it. R for graphing, graphing, graphing, running statistical tests other people already wrote and foolproofed, database munging, and then more graphing. Haskell for prototyping and reasoning with types and then that occasional algorithm that screams for functional implementation or the not so occasional one that requires more speed than Python can provide.
I also write a few things in C/C++, though I try to avoid it. It's mostly there for standing on the backs of other people and that occasional need to blaze.
- billswift 17y agoThere is a website http://software-carpentry.org/ http://software-carpentry.org/ intended to teach scientists the basics of reliable programming. It's python based and covers version control, debugging, shells, testing, and the basics of databases and other stuff that would be useful for scientists without computer training. Since a lot of practical stuff like this isn't covered in any systematic way in most comp sci programs, it is useful even for people who have programming experience.