HyperText Markup Language is the coding language Sir Tim Berners-Lee created in 1990 to handle information on the world-wide-web. I hand-code a stricter version called xhtml, but it is the same language, and can be written using Notepad. I prefer hand-coding to using software packages such as Dreamweaver as I find it gives me far more control over the web pages I create.
Cascading Style Sheets is a language developed after html to control how information on the web should be displayed in different media (eg print, screen, mobile etc). CSS is versatile and makes it possible to change the presentation of information quickly and easily. I have used CSS2 in my websites since 2004.
Using mainly html and css, web design is concerned with how information is communicated on the web: how it is presented and how you interact with it. Issues like screen resolution, different browsing devices (mobile phones, widescreen laptops etc) and the importance of ensuring that everyone can access the information itself (in accordance with the Disability Discrimination Act) means that web design involves a great deal of testing. I test all my work on all major browsers and check that the web pages conform to the W3C web standards.
You might think that there is a correct way to write html and css, and that anything else would fail to work. For a variety of reasons that's not quite the case. To get the best results from Search Engines (like Google), to work equally well on the majority of browsers (Internet Explorer, Firefox, Safari etc), and to work with assistive devices (like screen-readers), html and css need to be written correctly. Following Web Standards, as recommended by the W3C, is the only way to be sure web code is standard.
The difference between web design and web development can be summed up by the kind of page that is created. Web design creates what are called "static" pages, web development creates "dynamic" pages. A static page doesn't change unless someone rewrites the page. A dynamic page, on the other hand, is created every time someone navigates to it. The information usually comes from a database, as databases are the most efficient way to organise large amounts of information. I believe most people these days prefer to be able to update their pages as and when they wish. A Content Management System (CMS) which requires a database back-end allows them to do this - I offer this facility whenever it is requested.
The web has changed considerably since Tim Berners-Lee invented html in the early 1990s. One of the biggest steps in that evolution has been the ability to combine the organising power of a database with the communicative power of the web. This combination requires another language to link the database with web pages, and many different languages have been used to do just that. One of the most popular of these languages is php. I use php as it is the most popular open source server-side scripting language.
Databases are the most effective means we have for storing, organising and retrieving information. It is no accident that they have become such an important component of so many websites. There are a bewildering number of databases available - but the most popular open-source database by far is MySQL. MySQL and php go together like bread and butter. I have been using php and MySQL since 2005, and would always recommend them above other comparable languages in the IT industry.