My girlfriend wants to get into programming. She's a math whiz, and wants to find an intro to programming from a perspective that assumes you know nothing and would then allow her to look at stuff like algorithm design and statistical analysis.
I suggested the Try Ruby tutorial but it was being really buggy, and I don't know anything else good.
Any suggestions?
1) clojure is functional - Someone with math background will have no difficulty to think of computation as combinations of functions. And with map/filter/reduce there is a lot of fun stuff you can do. Also, there is no need to burden a learning programmer with pointers, and clojure doesn't bother you with that, it's all "by-value".
2) clojure has great data types - After all, it's all about data. Clojure shines with elegant notation and powerful processing of data structures, which IMHO is very easy and straightforward to grasp.
3) clojure has a REPL - Learning by doing helps a great deal to get a feeling for programming, because of the direct feedback.
4) http://try-clojure.org/ - No need to install anything - get started instantly, do the further steps later. And there's a tutorial as well (never tried it).