Poll: Have you read SICP?
Personally, I'm a physician with an undergrad in physics, played with logo and basic as a kid. I picked up SICP and got to chapter 2 or 3 on my own time last summer but set it down to go learn Python as it was pretty obvious Abelson and Sussman expect you to either be a bachelor's degree candidate with a lot of time to work on this, or you have a substantial background understanding to bring to bear.<p>I tried Ruby but didn't like the flavor. Too sugary, too much stuff. My goal is really to add math to my diet, I don't need a job. I see Python as a good starting point to get some fundamentals under my belt, access to a large community with a lot of running software, and then get back to more lisp-like languages, R, and functional programming. Perhaps I didn't give Ruby a fair shake, I'll probably visit it again.<p>Lutz's Learning Python and Shaw's Learn Python the Hard Way have been a great combo for me as an independent student. Lutz does a great job of hand-holding in the beginning, which can be critical for the solo learner out there, but I wouldn't be the first who started getting impatient half-way through. Which is where LPTHW takes off. However, I have also gotten good use out of the beginnings of a lot material. A few notables:<p>* Brian Harvey's Scheme lectures at Berkeley (of all things) were absolutely critical to understanding recursion conceptually -- unfortunately they're gone now, which really makes me sad. <a href="http://webcast.berkeley.edu/course_details_new.php?seriesid=2008-D-26263&semesterid=2008-D" rel="nofollow">http://webcast.berkeley.edu/course_details_new.php?seriesid=...</a><p>* Little Schemer -- I admit, I didn't see where it was going, shelved it, but loved the puzzling presentation. Will probably pick it back up after I finish LPTHW.<p>* Real World Haskell -- Some great introductory conceptual materal, but assumes a huge amount of prior knowledge. A noob can't pick up this book and learn programming.<p>* I just want to make mention of the fact that Windows hit the scene when I was a freshman in highschool and dominated my computing life for 15 years. The intellectual cost of that obstruction to the efficient use of my time can't be over-estimated. I have a visceral disgust for Windows that defies any logic.<p>* Conversely, my Cr-48 running Ubuntu has a wonderful study partner. It was quite wonderful to be reading LPTHW in Calibre, look to customize Calibre's buttons a bit, and find out it's written in Python. I have a visceral gratitude toward Google and the FLOSS community that defies any logic.<p>* Finally, Shaw's Advice from an Old Programmer is the best career advice, in any field, I've ever read (having done physics, military, and medicine). Read it or be square: <a href="http://learnpythonthehardway.org/book/advice.html" rel="nofollow">http://learnpythonthehardway.org/book/advice.html</a><p>[edit]: for anyone who reloaded the page and found this comment elsewhere, my apologies. This part seemed better as a stand-alone comment.