Some people say the 'I code' when they in fact are just typing plain HTML:

<html><body>look ma, I got a homepage!</body></html>

Now, I can understand some people yearn for the glory and respect that all coders receive, being of upper class in the modern society, but it is really not only incorrect but foolish to call that coding.

Again, if the HTML is not plain but includes, say, Javascript (it's counted as language! It is! Like basic!), or those server-side "not-quite-HTML" languages, I can understand, but NOT for the plain HTML.

Yes, I can see that word "coding" could apply to any act of creating a description to tell an item how to behave, yet to me it seems that term has attached strongly enough to specifically creating actual applications through way or another instead of merely formatting (if HTML was code, with same logic plain text would be as well, as it contains characters that are instructions of what to display on screen). Is the line between these two clear? Maybe not, but it is out there somewhere, making justifiability of calling HTML 'code' near zero while same for, say, hello.c near JUST_MAX.


Reply:

So combining those, we get that whatever made with language that is turing-complete, that it, it has POTENTIAL for conditionals, even if it is not used in "application", makes it markup? Or should we, now, have to call hello world a "mark-up" ?

In general computer jargon one codes in a programming language. What is that ? At least to me, it is a Turing-complete language, that is to say, one that has at least a conditional jump instruction (and all the usual arithmetica stuff).

Does HTML have that ? No. The fine art of stuffing a text with tags is called to mark up.

So one codes PASCAL, C, AppleScript, sendmail.cf: and marks up in SGML, HTML and troff.


I had previously included TeX as a markup language: luckily WWWWolf reminded me that TeX is a real macro language, and you can write real programs with it...

I agree with the sentiments, I really do. For the last ten years I've earned a living by hacking code software engineering for a variety of small and not-so-small companies around Britain. So I can understand the frustration when someone picks up a copy of "Dummy's Guide to Creating Your First Web Page" and calls themselves a coder.

But your example given was the most basic possible web page. To compare you'd have to use a Hello, World! program:

PRINT "Hello, World!"

Doesn't require a great deal more skill than a basic web page really...

OK, let's assume we're talking real programming:

#include <stdio.h>
int main()
{ printf("Hello, World!\n");
return 0; }

Nope, still doesn't look much more complicated than a Hello World webpage would be.

Now admittedly there's a million miles between Hello World and a real, worthwhile program. But that's a truism that works for web sites as well: view the source of some of the more interesting and imaginative sites around today: even those that are static have got some serious time and effort put into them (and I don't mean 30 minutes work with FrontPage either!)

I do webdesign and programming professionally. Here's my take on the situation:

If we are talking about plain HTML (excluding Javascript; yes, that's a programming language), I would not call it coding in formal communication. The "M" in HTML stands for markup, and that's all it is. It is about the organization and presentation of data. Coding, to me, implies the processing of data. Even that simple Hello, world! is doing processing -- it is sending a string to the printf() function. Even a more simple C program, one that does "nothing," still has the main() function.

There is no doubt in my mind that those "imaginative" sites required more creativity, time, and thinking to create than some programs. I've done my share of complicated layouts and I know how it is. So, when I am informally communicating, I occasionally refer to it as "coding." It is convenient and to the point. "Typing" is not an accurate term when you're figuring out how many colspan to use, or if you need to embed a table within a table. It's not quite "design" to me, either, since that, to me, refers to what is actually seen, not the underlying structure of the webpage.

If someone is typing HTML and casually says they are coding, I let it go. Getting on their case at this point would be a game of semantics, and I think, also elitist.


On a side note, you can do a pseudo-conditional jump in plain HTML (i think this tag has been here since HTML 3.0) based on timing. Put

<meta http-equiv="refresh" content="timeout;URL">

in the head and a link (<a href="...) in the body. Without human intervention, the client would go to the specified URL. With human intervention, the client would go to the URL referenced in the link if the user clicks on the link. For example, you could create a page that said "you are in a cell. you can escape through a hole in the wall or through the unlocked gate." If no choice is made within a certain amount of time, the client would fetch a page that said "You fester and die in the cell." It's kind of a kludge, but would that be "coding"?

This reminds me so much of discussions about the difference between cybertext and hypertext, and how they sometimes overlap. Maybe that's the case here -- there is no hard and set line.

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.

Log in or register to write something here or to contact authors.