I actually wrote an essay about this for a school persuasive essay (I had to make it "simple" because my teacher is rather computer illiterate to put it nicely.) I stumbled upon this node so I guess I'll post it here:
Is HTML a Programming Language?

Dropping my head against my computer desk, I let out a deep sigh, noting another novice computer user believing that he or she knows everything, and consider themselves programmers, due to his or her intimate knowledge of HTML. For those who are computer illiterate, HTML is an acronym for “Hypertext Markup Language.” It is most commonly found on websites on the Internet.

The very notion of HTML being a programming language is ludicrous. Programming is defined as a set of instructions embedded into a computer to allow it to do desired tasks, whether this task be something as simple as the famed “Hello World” program, or something as complex as a fully functioning art program. HTML is, quite simply, a markup language – hence its name. A markup language is one used to format basic text, and to add certain affects to them, such as images.

HTML in itself is an extremely simple language, using nothing more than formatting brackets such as <BR> or <BLOCKTEXT> Using this code, an internet browser immediately changes this into a format. It is something equivalent to pressing the “Bold” button on a word processor (or, in HTML, it would be <B>Create Bold</B>) This does not modify, or do anything with, data. Rather, it simply tells another program (i.e. the web browser) to modify the text into a different thing.

Programming languages, on the other hand, (even if it as simple as BASIC or Visual Basic or as complex as C++) are designed to interpret data, and do something with it. Even the simplest application – that of which being the introduction to the languages, the “Hello World” program, still processes information. In C++, the “Hello World” program would be:

int main ()
printf("Hello World\n");
return 0;

As simple as this program is, it is still doing a function with data. It is still in some way doing what the user wants it to, in the desired fashion. (In this case, printing “Hello World” on the debug or client screen)

Many people argue that, because HTML is modifying the text, it is doing something with the data in the requested fashion. This is wholly inaccurate. As stated before, the way the HTML changes the text is by the web browser automatically recognizing the tag and then the program modifies it via a built in library of such commands. Therefore, your text is doing nothing but adding a bit of formatting to the text, rather than doing something with the data.

Another common error of such is that when people see that their argument that HTML is no longer a programming language, they suddenly believe that “Neither is !” because the Operating System is interpreting what it is requesting and then turning it into binary code for the processor to process. This is also inaccurate because the Operating System is simply translating your requests into a form readable by the computer, rather than processing the data like the web browser would do with HTML.

For people who know HTML and believe that they are programmers, or something of the sort, please rethink this theory. For anyone who knows how to program, it almost makes us angry to think that a language that merely formats text is considered a “programming languages” by countless people. This said, I can assure you that I am not alone in my beliefs that HTML is not a programming language, as ask any programmer and they will whole-heartedly agree that HTML is simply not a programming language.