3 ms·
Re: people around here recommending The Structure and Interpretation of Computer Programs (SICP), I'd warn a newbie that it may be a demanding way to start, and
by euccastro 19y ago
Re: people around here recommending The Structure and Interpretation of Computer Programs (SICP), I'd warn a newbie that it may be a demanding way to start, and I've had trouble encouraging former coworkers (some with way more experience than me) into reading it. But don't get scared a priori; skim the preface and the 1.1 section to see if it's for you.
Even if it's for you, you may want to check out The Little Schemer first. It's an easy, wonderful and enjoyable way to get introduced into programming. Don't spoil it by looking elsewhere first. :)
[Edit: How to Design Programs (HtDP) is probably a good one to try after The Little Schemer. That one too is best if you read it as a beginner, because it tends to hold your hand a lot, and you'll have less patience for that when you consider yourself more expert.
These three books are a strong reason to consider Scheme.]
Given your current motivation, I think you'd be better off figuring out what kind of languages the programmers you'll be interacting with use, so you don't learn something that is too different.
If you don't know those programmers yet, do you know anyone that could mentor you, or at least anyone who you could bug with questions often enough? If so, ask them about what language they'd be most comfortable helping you with. Having someone to rescue you when you get stuck will probably help you more than any qualities of the languages themselves.
Failing all of the above, and if you can't get over the notation of Scheme, you can't go very wrong with Python. It's a piece of cake to get started with, it has a great joy to WTF ratio, it looks less alien than the Lisps for most programmers, and it's a very practical and powerful language for the future.
- jmzachary 19y agoI wonder how many people that recommend SICP have actually learned to program from it or even read it. I did way back as in undergrad (with severe MIT envy) and I would not recommend it as a first book for beginner programmers. Also, I wouldn't recommend Lisp or Scheme as first languages to use for beginners wanting a taste of the practice (despite how much better off the world would be if we all programmed in Lisp :). Unless the questioner is a math (or idiot) savant, I would only recommend these as first programming languages to someone if I wanted to scare them out of the profession or didn't really like them. Today, I would probably recommend JavaScript with the browser DOM.
- Shorel 19y agoIn my experience, to normal people who are simply math students, but without any previous programming experience, C syntax is ugly and Lisp syntax is clean and beautiful. Lisp is so much easier for them, that I think that your statements do not take into account familiarity and most people are just being too used to a particular syntax. SICP is a hard book to read, however. There are much easier books to learn Lisp.