| HTML: an example of what computation is not |
|
HTML is arguably the fundamental computer language of the Web and the basis of Web programming; however, many computer scientists do not consider HTML to be a programming language. The distinction between the popular notion of "Web programming" and the computer science notion of "programming language" hinges on computation. A computer scientist uses a programming language to express algorithms that do computation. In contrast, Web programming does not require the author to write algorithms to do computation. For example, if you want to add the numbers 1+2+3+...+100, then HTML is not helpful. Even the simplest arithmetic cannot be performed by HTML. The language is not designed to express algorithms of any kind. HTML does not express algorithms, but it certainly does represent information. For example, if you wanted to write a story about adding the numbers 1+2+3+...+100, then HTML provides a language with which you can tell that story. You could also use HTML to tell the story of The Adventures of Huckleberry Finn. Both of these stories are examples of information, not computation. If you used HTML to write a story about adding the numbers 1+2+3+...+100, then you would probably want to use an algorithm (expressed by some programming language other than HTML) in order to compute the actual sum. Then with HTML you could present that sum as a tidy conclusion to the story. For example, you could use the Web scripting language PHP to add 1+2+3+...+100 and to generate the HTML that would present the above story. PHP can express algorithms that do computation; it is a programming language in the classic sense.
|