A friend with an astrophysics and maths background is looking to get out of her current gig in journalism and into software. She's got minimal programming experience (beyond BASIC in the 80s), but has a startlingly sharp mind, so I don't see lack of experience as a major barrier. She's asked me what language/s is/are worth learning.
I've suggested Ruby or Python just to get the fundamentals down, BUT (and this is where it differs from previous Ask HN threads similar to this), she wants to use her maths/physics knowledge towards creating industrial/scientific applications. With that last bit in mind, what language(s) are worth her investing time in?
Once you have that down, it's a lot easier to start dealing with things like static types, memory management, pointers, null bytes, and so on.
I learned the other way around (with C being my introductory language), but that was a useless way to learn. When you don't know exactly how to use a conditional, there's no reason to throw in things that can trip you up and have nothing to do with your understanding of a conditional.
And, to be honest, Python will do nicely for lots of applications. If she's going to be joining a company, she'll have to use what they want her to use, but if she's independent, Python will be fine unless the calculations are so complex that they are time constrained. Even then, Java isn't so hard to pick up if you know Python
It's a lot easier to add on CS concepts little by little than to have to deal with everything all at once.