OK, so there's so much to know that I don't even know where to start. I'm hoping you can help me come up with a list of books to get started with.

I'm interested in web applications (for example, building a custom wordpress theme or plugin), but I also want to be well-rounded and have a decent technical grasp of the web (databases, servers, networking).

I'm guessing javascript and php are languages to learn first?

I don't mind dry technical reading.


Start with the basics: HTML, CSS and JavaScript. If anything you'll want to create a few simple pages consisting of just raw HTML, then enhance them using CSS. Once you've gotten a basic feel and understanding for these two go ahead and jump into JavaScript. Yet, there really is no set of books or resources to help you learn better than all the information available to you from a quick web search.

I found it harder to learn from a book opposed to diving in and trying stuff out as it was being exemplified through reading and analyzing web resources.

Practice makes perfect.

  • Good answer. There are many books which take the easy, quick and simple scripting language HTML and make learning it into a monstrous task in a brick like book. HTML, CSS and Javascript are universal. Almost all websites use those, and anyone working with websites should have at least some knowledge of them
    – Adjam
    Mar 14 '12 at 10:29
  • @drlouie but, besides the scripting aspect of building a website, I'd like to understand more about how the internet operates in general. I've been using HTML+CSS for a while, and I've just started learning javascript, but I've still no idea what really goes on in a server, or databases and how they differ from one another, how it all comes together, etc. - I'd like to understand more than just what goes on visually on my screen. Mar 14 '12 at 17:50
  • 1
    If you want the know about the nuts and the bolts of the Internet, it would be a good idea to look into TCP/IP, HTTP, FTP and other protocols which are the lifeblood of the Internet. My extensive knowledge was at first an infatuation with dial-up networking close to two decades ago. From that knowledge you can indeed get a better idea of how the Internet operates as a whole, I wouldn't suggest going into PTP or other protocols for you're needing to see the active Internet and not the structured Internet. So yeah, learn about TCP/IP, it truly is the base for most Internet communication. Mar 14 '12 at 18:44
  • @drlouie yes that looks like what I'm interested in. Thanks. The book TCP/IP Illustrated on the subject seems to have very good reviews. Mar 14 '12 at 19:22

You learn best from doing. You could read every book in the world, but if you're not practising then your not improving.

If I were to learn HTML, CSS and PHP (which you would need to know if your going to mess about with Wordpress) then I would buy one of those books that promises to teach you something in 10 minutes. I did this, but I didn't read it cover to cover. I instead used it as a reference. The good thing with these types of books is that they cut out most of the rubbish and just give you a real world explanation with a short explanation.

I would also sign up to Twitter and follow different people connected with web design. Smashing Magazine for example. But even doing a quick search will give you lots of other web designers/developers who you could always tweet for advice.

The most important thing to learn, and to learn from the start, is best practices and standards. If you get your code to be standardised and cross browser compliant, everything else will come easy. There is nothing worse than learning to develop a website for just Internet Explorer, then realise people using Firefox can't see it properly. I learn this the hard way 10 years ago.

You are using the internet to develop websites, so the internet should be your first point of call. Do a Google search for HTML tutorials. These tutorials (for the most part) are free and easier to transport compared to a book.

Not the answer you're looking for? Browse other questions tagged or ask your own question.