4 ms·
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 su
by niels_olson 15y ago
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.
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.
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:
* 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. http://webcast.berkeley.edu/course_details_new.php?seriesid=2008-D-26263&semesterid=2008-D http://webcast.berkeley.edu/course_details_new.php?seriesid=...
* 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.
* 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.
* 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.
* 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.
* 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: http://learnpythonthehardway.org/book/advice.html http://learnpythonthehardway.org/book/advice.html
[edit]: for anyone who reloaded the page and found this comment elsewhere, my apologies. This part seemed better as a stand-alone comment.
- ricardobeat 15y agoAbelson and Sussman expect you to either be a bachelor's degree candidate with a lot of time to work on this I think that's to be expected for a university course textbook.
- niels_olson 15y agoNo doubt, it wasn't intended as a negative. But for the independent student, stating what may seem obvious can be critically necessary. Compared to both O'Reilly titles and plenty of assigned course readings, that wasn't entirely clear to me until I had a few problem sets done. For example, Norvig's review makes it sound like it can be read lightly. Maybe only if your name is Norvig. I don't know.
- lostmypw 15y agoMaybe the CTM book might be something for you as well. See my other comment[1] to learn more about it. Norvig says[2] the following about it: Concepts, Techniques, and Models of Computer Programming (Van Roy & Haridi) is seen by some as the modern-day successor to Abelson & Sussman. It is a tour through the big ideas of programming, covering a wider range than Abelson & Sussman while being perhaps easier to read and follow. It uses a language, Oz, that is not widely known but serves as a basis for learning other languages. [1] http://news.ycombinator.com/item?id=2848027 http://news.ycombinator.com/item?id=2848027 [2] http://norvig.com/21-days.html http://norvig.com/21-days.html
- jinfiesto 15y agoHmm, it took me about 6 months to get through SICP the first time. I worked on it probably about an hour a day and more on weekends. I wouldn't worry about trying to understand everything the first time through. I got much more out of subsequent readings.
- jlaurend 15y agoThis tends to be the style of thinking at MIT, i.e. oh these are undergrads with a bunch of time, they should be able to do learn everything really well, thoroughly, and from the ground up! The end result is a bunch of classes that pack a lot of punch. This is great once you're ready to learn things inside out and from the bottom up, but not so great if you're new to the area or just trying to get a quick overview to get you off the ground. Just about every class at MIT is like this. That is, professors assume you have the time and energy to learn things the "right way" and will really give you everything they've got. They usually forget the fact that students have usually 3 or 4 other classes like this which makes for quite a tough curriculum. I personally loved this aspect of MIT. It's not the most practical or concise way to do things, though. If you're new to CS or just looking to get up on something quickly, definitely don't feel bad to look elsewhere.