3 ms·
I personally think Python would be best. Python will allow her to understand conditionals, loops, variable assignment, etc. really simply and quickly. Once yo
by mdasen 17y ago
I personally think Python would be best. Python will allow her to understand conditionals, loops, variable assignment, etc. really simply and quickly.
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.
- yummyfajitas 17y agoAdditionally, python is also becoming fairly widely used in industrial/scientific applications. In terms of scientific libraries, it's only slightly more inconvenient than C or Fortran. The FFI is reasonable too.
- vorador 17y agoAnd don't forget numpy/scipy for numerical computation and nodebox for plotting (http://www.nodebox.net http://www.nodebox.net) which are extremely convenient libraries.
- megaduck 17y agoI mostly agree, but I think you might be worrying pre-emptively. From the original poster's description, she might not have to be dealing with "everything all at once". A person with a strong math background will have a much easier time grasping many CS concepts than someone coming from the humanities. After all, at its core CS is a specialized branch of discrete mathematics. Anybody with advanced mathematics should have encountered boolean logic somewhere along the line. That'll make picking up C a whole heck of a lot easier.
- CyberFonic 17y agoFor new users, I suggest Python v3 as the starting point. It cleans up some mistakes from earlier versions. The "Batteries Included" philosophy means that in most cases there already is a module / library available for tasks at hand, e.g. graphing, PDF generation, number crunching, stats analysis, etc. python.org is a fantastic resource, even for experienced pythonistas.