How to Learn Web Programming - Step by Step
Sometimes people ask me how they can learn to program. Most of the time, what they mean is “How can I make web applications?”. I’ll try to answer the question as briefly as I can, while giving a bit of an explanation.
Since there are several pieces involved, deciding what to learn first can be confusing. Fortunately, the tools involved have never been easier, cheaper, or more powerful. For this article, I will assume that you know what a web browser and web server are. I’ve also included some links to tutorials and further information, which you may or may not find helpful.
Here’s what I would learn, and the order in which I would learn it:
- XHTML. Just learn enough that you can write a well-structured document - there’s no need to become an expert right away. Run your code through a validator to see what you’re doing wrong. Learning XHTML should not take very long.
- Python or Ruby. These are popular, simple-yet-powerful scripting languages. Try them both, most people prefer one or the other. Both have widely-used web application frameworks available, i.e. Rails, Django, Pylons. Once you’ve chosen a scripting language, try using it first without, then with a framework. These languages typically control what happens on the web server.
- Javascript. There’s a powerful, object-oriented scripting language built into every common web browser. The difference between Javascript and a language like Python is that you’ll use Javascript to program events within the client’s web browser. Be sure to install the Prototype library, it will make Javascript easier and faster to write. While learning Javascript you’ll get familiar with the DOM (Document Object Model), which will come in handy for…
- CSS. CSS (Cascading Style Sheets) are what make web pages pretty. Like XHTML, it’s very easy to learn, but it’s a pretty deep subject if you really get into it. Which you will, if you’re a designer.
If you can learn these four things, you’ll be well on your way to building web applications that don’t suck.