
Definitely learn about 20000 of Standard Mandarin characters first. Then move on to APL, which then is quite easy to digest. Then you might have just enough background to move on to C.
I know of APLers with about 40 years of software production on their belt. They still use functions and code they wrote in their first year. They claim it is much more fun to do something new than repeating oneself over and over again. If they write a new program, it mostly goes like this: take/copy some functions from library, add some database and string manipulation, drop in a stylesheet and voila your shiny new web-application. I have never seen them needing more than one or two days to finish a complete application, even quite complex ones.
Well, it's not computer science, it's computer engineeering what is required. A lot of people love to talk philosophy on NP-hard, decision theory and the like, but do not have craftmanship of plain vanilla software development (including, but not limited to: OO, modern software architecure, patterns, regexp - hell: just using a decent editor to achieve simple formatting)!
I met him in Paris. It is really fun and very rewarding to discuss with him. I like his down-to-earth approach: Do not go for abstractions, but calculate the simplest cases right here and now! (Just do the math!). Abstractions then follow later. Quite a bit away from that high level stuff of QFT etc. But really fun.
I don't know if it has been mentioned here, but V.I. Arnold (Lectures on Partial Differential Equations) might be a starting point. Arnold emphasizes physics in his writing. His introduction to classical mechanics is an absolute must for everyone interested in this kind of topics! He really blows away the fog.
You can do more with a kind word and a gun than with just a kind word. - Al Capone