7 ms·
Hi javascripter. First of all, welcome to news.yc! There's at least one thing you're already doing right: you're starting out with a problem that interests yo
by dfranke 19y ago
Hi javascripter. First of all, welcome to news.yc!
There's at least one thing you're already doing right: you're starting out with a problem that interests you. However, I don't think you have quite the right goal. You don't want to be the best Javascript programmer ever. You want to be the best programmer ever. Javascript should just be one weapon in your arsenal, and a rather specialized one at that.
That said, you have to start somewhere. Usually I recommend that people start with Scheme and read SICP (online at http://mitpress.mit.edu/sicp/full-text/book/book-Z-H-4.html http://mitpress.mit.edu/sicp/full-text/book/book-Z-H-4.html), but since you've indicated that you're interested in web programming, that's probably not the right first step for you. The trouble with web programming is that it's messy. Any non-trivial website requires you to understand a whole alphabet soup of different programming languages and markup languages, some of which were designed for each other and some of which weren't, and then to top that off you get to worry about Internet Explorer dain bramage. If you're just programming for an audience of you and nobody else and you choose carefully what to work on, then you can ignore some of these issues, but sooner or later they'll leak in and it's going to seem overwhelming. (This isn't necessarily bad; coping with information overload is one of the most valuable skills a hacker can learn.)
So, here's what I suggest. Start by learning Python. It's a clean, reasonably powerful, easy-to-learn language, and it's very good for web programming. I assume you already know HTML; if not, learn that first -- it'll take you a couple days max. You can make a pretty capable website using just Python and HTML. You could almost write news.yc, except for the AJAX up-arrows which require Javascript. A site like this would be pretty big as a first project, though.
I'll let someone else recommend a Python tutorial. I just learned it from the reference manual, so I don't know a good one.
Once you feel confident making web pages using Python and HTML, then it's time to start learning Javascript. It might also be a good time to go back and learn to write standards-compliant XHTML-strict and CSS, since this will make working with the Javascript DOM a bit less of a headache, but this is optional and you can do it in parallel with learning Javascript if you do it at all.
Finally, here are some bits of non-technical reading I recommend:
http://www.catb.org/~esr/faqs/hacker-howto.html http://www.catb.org/~esr/faqs/hacker-howto.html
http://www.catb.org/~esr/faqs/smart-questions.html http://www.catb.org/~esr/faqs/smart-questions.html
http://paulgraham.com/gh.html http://paulgraham.com/gh.html