- Feature Articles
- CodeSOD
- Error'd
- Forums
-
Other Articles
- Random Article
- Other Series
- Alex's Soapbox
- Announcements
- Best of…
- Best of Email
- Best of the Sidebar
- Bring Your Own Code
- Coded Smorgasbord
- Mandatory Fun Day
- Off Topic
- Representative Line
- News Roundup
- Editor's Soapbox
- Software on the Rocks
- Souvenir Potpourri
- Sponsor Post
- Tales from the Interview
- The Daily WTF: Live
- Virtudyne
Admin
This is a valid way to achieve high performance.
Admin
/* useful */
Admin
I heart you.
Be my wife.
Admin
The biggest WTF is that tv.com does only let you view its content when you let it fill your HD with their damn cookies...
Admin
Not to mention that when you change the values, it'll change it for every element with that class. Which means if you only want some elements changed, you'll have to go through the source, changing them again. This is actually creating <b>more</b> work.
Admin
I'm curious: if HTML isn't a programming language, what is it?
waits for some pillock to say it's a markup language
Admin
And when did you stop beating your wife?
silence
Are you not wanting it to be labelled a markup language because you don't think it is, or because you don't know what a markup language actually is, and therefore find the label uninformative?
If the latter, then try Wikipedia's heading 'Programming language' and Markup language'.
If the former, then please let us know why HTML is more than merely a markup language.
I'm not aware of any actual constructs in HTML that lift it from merely being a description language to actually being a programming language.
In my book, if you can't write a program in it, it's not a programming language. And though I've seen spreadsheets used to implement Space Invaders, I've never seen HTML itself used to write a program of any form, though there are plenty of programs that have been embedded within it.
Admin
You said it all.
The basic requirement of a programming language, to me, would be at least the availability of
HTML is only data, it has no ability to handle or manipulate data, and I therefore can't call it a programming language, just as ReST (as in ReStructured Text, see Textile or Markdown for examples of ReST syntaxes) isn't a programming language.
Admin
You said it all.
My point was that being a markup language does not preclude it from being a programming language. Therefore, I did not say it all - the question still stands. Anyone else care to have a go?
Your point about data manipulation is a good one, even if it's a little off. If we're going to get right down to specifics, HTML is layout, not data. XML is data. However, if we're going recognise that the real world isn't so compartmentalised as that, then we have to consider that HTML actually interacts with a number of other systems. If we consider the majority of modern sites, we'll see dynamic content, even though we call the sites HTML-driven (as opposed to, for example, ASP, ASP.NET or JSP-driven).
A philisophical question, then: when you can embed Javascript (which, by the way, more than satisfies your requirements for a programming language) in HTML, does the site remain HTML-driven? If so, then the Javascript could be considered part of the HTML, since you're calling it HTML-driven, but the Javascript is (presumably) providing an important piece of functionality. By the same token, an ASP.NET page that uses C# code behind the pages could actually be described as ASP.NET/C# driven.
Either way, since you're saying HTML isn't a programming language, and since a markup language could satisfy your requirements for being a 'programming' language, what is HTML? And in the next breath, will you say that Javascript is a 'scripting' language, not a 'programming' language?
I think the term 'programming' is more nebulous than you like to believe.
Admin
Sorry, missed Bellingham's post, but the one I just posted mostly applies.
But I had to post this: Bellingham, have you actually visited that wikipedia page? Have you looked at the image to the right? I'm going to guess not, so I'd strongly suggest doing so right now. For your convinience, here's the link: http://en.wikipedia.org/wiki/Programming_language
Admin
If you're not sure of the power of CSS in the right hands, the place to go is http://www.csszengarden.com .
Down the right hand side of the page, you'll see a bunch of alternate styles; click any of them, and the entire of the page will change... but all the designs use exactly the same HTML file; just a different stylesheet.
The point is to demonstrate that a properly written site allows you to completely overhaul the design and layout of the site, without having to make any changes to the actual content. This is what is meant by separating style and content.
A properly written site should also be able to include separate CSS for printing, or for viewing on other types of device, again without having to make any changes to the html.
At the opposite end of the scale is the example given in the original post here: When the day comes that these developers are asked to overhaul the layout of the site again, they'll have to re-write both their stylesheets and their html from scratch. Or if they want to increase the font size on their headers, they'd have to change the class reference in the html, rather than changing the stylesheet. That's what is meant by tying together the style and content.
Okay, I'll admit, there are very few sites that have gone for the perfect CSS solution like the zen garden site, but to completely CSS-ify your site, but keep everything tied to a bunch of styles like this shows a complete lack of understanding of whole point of CSS. Sure, it makes the basic html code shorter, but they've shot themselves in the foot in terms of longer-term maintainability.
Admin
"Yea, you guys are right the biggest WTF of them all is that people actually think that Dreamweaver is a good html editor"
Dreamweaver V1 WAS a good HTML editor. It deserved its rep at the time and I spent years recommending it. However when I found that MX actually ATE large sections of XHTML/XML I banned it from use at my company. Wonder if they ever actually fixed that.....
Anyways I've come across far too many examples of this type of WTF to be suprised. I had to sit on the last web company that did a XHTML+CSS based site for us and review every damn page, not because they didnt get CSS but because it was so much more time consuming to do the job properly rather than just code it as an HTML page. It took 3 months to get about 50 pages out of them to the standards that we had stipulated (XHTML CSS WAI) and I still wasnt 100% happy with how the site degraded or the size of the CSS but Id had enough head-banging at that point....
To be honest, I KNOW that HTML isnt a programing language but Im prepared to give anyone with good XHTML+CSS skills a lot of respect because it is HARD to do CSS well, probably a lot harder than the actual coding for a site in many instances. Im having to convert a graphics heavy, table laden monstrosity into a CSS based design ATM and its taking a looong time to solve all those cross browser issues. So, yeah....
Admin
Well... if we're going to go to the trouble of looking at the "image to the right", you might as well go all the way and click the HTML hyperlink below that image. Your move.
Admin
I did, actually, but what does that prove? On the HTML page, they call it a markup language, but as I said, that does not preclude it from being a programming language.
Your move.
Admin
That's completely and utterly wrong.
Now you could've argued that data processing instructions is data too (well to be fair that's only true for Lisp dialects, but still), but that's not what you did.
Duh, ASP, JSP, PHP, RoR driven means that there is something "behind" that generates, drives, manipulates informations to create something it can send to you, you can't have an "HTML-drive" website, that's a nonsense since a pure HTML website is static, set in stone, there is nothing "driving" it.
As I said, a website is never "HTML driven", that doesn't make sense. And you can use Javascript in ASP, Ruby, Python or Java driven website too, does that make them "JS driven"? I don't think so. At best, that may make them "AJAXy-buzzwords compliant" if you want to qualify them.
On top of this, even though you can embed JS into HTML code (and get an awful mess and a wonderful coupling between data and behaviour on your web application), you're not actually supposed to, just as you're not supposed to embed your CSS declarations in the "style" attributes of your HTML elements.
Yes, you could, ASP.Net is actually a framework providing functions to any language running on top of the CLR, that includes C#, VB.Net, Boo, IronPython and many others. Not that it really matters.
Excuse me? Where the hell did you "prove" that one? Not with the ASP.Net/C# thing I hope.
That would obviously be stupid, even if we consider an (extremely fuzzy at best) "scripting" category of languages, it's a subset of the "programming languages" world.
Admin
Javascript is a scripting language, and therefore a programming language. 'HTML with Javascript' therefore includes a programming language.
This totally fails to show that HTML itself is a programming language, and would actually indicate the opposite.
There are certainly markup and page description language which are programming languages. So far you've not bothered to try to show that HTML is one of them. Is this because you know you can't?
So, a challenge: show one example of a program written in pure HTML (excluding HTML implementaion bugs, of course).
Admin
HTML is layout. The text and images are probably data, I suppose, but tables, spans, paragraphs and so on are layout. Fonts and styles I suppose could be considered separate to layout, but then they are also separate to data too. Formatting might be the best term for them.
Semantically, an OOP language lumps data with the manipulation functionality. The Int datatype in C# has a Parse method to parse a string, so your comment that only Lisp dialects treat data functions as data isn't entirely true from that perspective. From a low-level perspective, it's not really like that, but then most of the time you won't be using an OOP when programming at that low a level. If you are, then you're probably losing out on all the benefits of the language, and you'll end up fighting it instead. However, none of this is entirely relevant because HTML doesn't do that.
If you prefer the term "HTML-based" to "HTML-driven", then that's fine with me.
Yes, like any other language, you can do silly things in an HTML page. Sometimes these things are actually the best way to do it (for example, I might generate an HTML page of some build results from my automated build and email it to some people, but I don't want to include an extra .css they have to worry about). The problem is that if I am describing what makes my site work, I have to describe what makes it work. It may be an HTML page, but if it includes JS, then why not say so?
No, the ASP.NET thing didn't prove the fact that a markup language can't satisfy a programming language's requirements. The proof is the fact that nowhere that I've seen has anything said that a markup language must NOT satisfy those requirements (if you have a link to this specification, feel free to provide it). Personally, I don't think such a specification exists, so therefore, a language can be a markup language and still satisfy the requirements for a programming language.
Finally, I have seen many many people on this site say that "HTML isn't programming" then immediately follow that up with "neither is Javascript". Yes, it is obviously stupid, but when did that stop anyone?
Admin
WTF happened there? That was actually split up into parapgraphs, at least when I was editing it.
This totally fails to show that HTML itself is a programming language, and would actually indicate the opposite.
By the same token, if you have C++ with embedded Assembly, does that mean that C++ is not a programming language? Nope.
So, a challenge: show one example of a program written in pure HTML (excluding HTML implementaion bugs, of course).
Well, if you don't consider HTML a programming language, then anything ending in .htm or .html will be dismissed whether or not it provides dynamic content. Besides, I don't know if you read my earlier post: read from the bit that says "the real world isn't as compartmentalised as that" and you might understand my point a bit better.
Admin
I'm gonna have another go at my post to masklinn. Here goes:
HTML is layout. The text and images are probably data, I suppose, but tables, spans, paragraphs and so on are layout. Fonts and styles I suppose could be considered separate to layout, but then they are also separate to data too. Formatting might be the best term for them.
Semantically, an OOP language lumps data with the manipulation functionality. The Int datatype in C# has a Parse method to parse a string, so your comment that only Lisp dialects treat data functions as data isn't entirely true from that perspective. From a low-level perspective, it's not really like that, but then most of the time you won't be using an OOP when programming at that low a level. If you are, then you're probably losing out on all the benefits of the language, and you'll end up fighting it instead. However, none of this is entirely relevant because HTML doesn't do that.
If you prefer the term "HTML-based" to "HTML-driven", then that's fine with me.
Yes, like any other language, you can do silly things in an HTML page. Sometimes these things are actually the best way to do it (for example, I might generate an HTML page of some build results from my automated build and email it to some people, but I don't want to include an extra .css they have to worry about). But it's not entirely relevant whether it's directly embedded or included in an extra file. The problem is that if I am describing what makes my site work, I have to describe what makes it work. It may be an HTML page, but if it includes JS, then why not say so?
No, the ASP.NET thing didn't prove the fact that a markup language can't satisfy a programming language's requirements. The proof is the fact that nowhere that I've seen has anything said that a markup language must NOT satisfy those requirements (if you have a link to this specification, feel free to provide it). Personally, I don't think such a specification exists, so therefore, a language can be a markup language and still satisfy the requirements for a programming language.
Finally, I have seen many many people on this site say that "HTML isn't programming" then immediately follow that up with "neither is Javascript". Yes, it is obviously stupid, but when did that stop anyone?
PS: Since neither of you seem to understand what I'm saying, maybe I should reword it. Basically, the point is that a site that is based on HTML won't always be "pure" HTML. When we talk about a site being HTML-based, it probably also includes Javascript, CSS, and so on. They might or might not be in the HTML file, it's not relevant. But if we're going to say that HTML isn't programming, then we have to (a) come up with another verb for it and (b) find a way to describe the elements on an HTML page that are programming, such as the Javascripts.
Admin
<FONT face=Arial>f'ing awesome!</FONT>
Admin
So, instead of calling it HTML driven, should we call it HTML parked?
Admin
Already been done: http://www.iol.ie/~locka/mozilla/mozilla.htm
Admin
http://www.w3.org/MarkUp/ - HyperText Markup Language (HTML) Home Page. When in doubt, RTFS!
Johnl, we dont need to invent new terms for it. Designing a page is....design. Editing a page is...editing. HTML+JavaScript is...DHTML. And since DHTML actually includes a programing language, there are actual DHTML programmers out there. HTML programmers? No! Because HTML is NOT a programing language.
Admin
So I take it your CV says "HTML design"?
Neither of those verbs are too inaccurate, so I could accept that. However, the Javascript comment stands.
Besides if you actually read my original post, you'd understand how this started. As you've indicated with your DHTML , a markup language can be called a programming language. I simply asked why people were laughing so hard at people calling themselves "HTML programmers". My "markup language" point was there to stop everyone saying "it's a mark-up language", since I know that already.
Admin
If I saw a CV that said "HTML Programmer" I'd probably have a good laugh before consigning it to the waste basket.
If the candidate doesn't know enough to distiguish between a mark-up language and a programming language, then they have no business working for me.
Bob
Admin
But in 75 posts, only Pain has actually come up with even half an alternative. He came up with two, neither of which entirefly fit the bill, IMHO, but are acceptable.
OTOH, consider that, while you may the guy in your company who looks at CVs, not all companies are like that. I can imagine some HR guy or department head saying "This guy says he dan do HTML editing. Anyone can edit! We need someone who can program, in HTML. Like this guy, who's an HTML programmer".
And if you don't think that it's possible that a department head could be that stupid, then you must be new here. And you haven't been in the industry long enough.
Admin
!!!
Admin
You just mean that js should be separated from the markup (different files), right?
Admin
Since we're talking about a markup language, "format" would seem the most appropriate verb to me. "We're looking for someone who can format documents in HTML." I suppose the job title would be "HTML formatter".
Alternatives would be (as mentioned before) "design" (of a data structure, not art), "create", "edit", "build", and so on. I mean, buy a thesaurus.
One word that simply does not apply at all is "program", since HTML files are not programs as they don't contain instructions, but semantics and formatting information. You wouldn't call an RTF document a program, would you?
Now can we please end this soff-topic excuse for a discussion?
Admin
You cannot implement a Turing Machine in HTML. vi is more a programming language than HTML.
Admin
All time funniest post.
Literally ROFL
-dave-
Admin
Since we're quoting Wikipedia, I'm going to note that this is a Straw Man Fallacy (http://en.wikipedia.org/wiki/Straw_man_fallacy, URL editor doesn't seem to work with Firefox).
Admin
If you'd just said that up front, we woulnd't have wasted so much time writing essay posts debating nothing. :)
Here's the deal.
- HTML contains no instructions. Therefore it cannot be a programming language. End of story.
- HTML contains only descriptions. That limits it, by definition, to being a markup language.
- HTML is layout in the sense that data can have layout, as in, the way it is stored and described. HTML is not layout as in visual layout. P does not inherently describe its margin abd block behaviour. It's just a P.
- the only way to add visual layout and behaviour to HTML is by embedding or linking Javascript and CSS. Browsers have default internal styles for things like P and H1. That does not mean HTML encodes visual layout.
- JS and CSS are DIFFERENT LANGUAGES. They do not extend or change the definition of HTML, no matter how many script and style tags you insert. A man using an electric razor remains fully biological and does not become a cyborg. 'DHTML' is a meaningless, obsolete, nonsense buzzword.
- If HTML should gain the ability to truly express instructions, it ceases to be a markup language.
- Ergo: markup languages and programming languages are different beasts that only overlap in the sense that both may lay out data. They are different in that only a programming language has the grammar to manipulate the data.
- We laugh at "HTML programmer" because it demonstrates a lack of understanding as to the usage of HTML and the relation with its embedded languages. (which languages we prefer linked, instead of embedded). Laughing at lack of understanding is the raison d'retre of this site. Hahaha.
Ugh.
Admin
"raison d'Retre"
oh the pain, the pain.
Admin
@Powelord: No it's not. The claim (as I understood it) was that embedding one language in another makes the outer language not a programming language. By that logic, embedding ASM in C++ would mean C++ is not a programming language.
@dhromed: I did say that up front.
Admin
Ans there is badly coded CSS just like bad HTML just like bad code in any programming language.
Here is one of my favourites:
http://www.hiaa.ca/schedules/arrivals_ns.html
How much space could be saved if that one repeated style was a reference, or not styled at all.
Admin
Actually, dhromed, not wanting to start this whole thing off again, but we can't always just blindly accept wikipedia's word for things, as I'm sure you know. I've always heard "programming" as "giving instructions to a machine, usually in a textual form", which HTML certainly fits into. And Dictionary.com's entry basically agrees with that.
Admin
That definition is so vague as to not be useful. By it, a bookkeeper giving the instructions to a computer to print two reports and run end of period processing is programming.
Sincerely,
Gene Wirchenko
Admin
Agreed, it is vague, but if we're comparing online references, I'll take Dictionary.com over Wikipedia. The Dictionary.com reference comes from the American Heritage Dictionary, so perhaps you should call them and correct them.
OTOH, what do you do with a VCR? Program it, that's what. But then maybe that usage is out as well.
I think the lesson we can learn from this is that language is an inexact science, and constantly open to interpretation.
Admin
Sure, but HTML does not actually "give instructions" -- it's just data used by a program (the user agent, whether a browser or whatever else is parsing the HTML document). And while the HTML may include declarative statements that suggest to the user agent how to interpret the layout (style tags) or which behaviours to attach to elements in the markup (script tags and event attributes), the user agent is free to disregard those suggestions (user stylesheets for accessibility, disabling scripting, etc.).
HTML, done right, is data-descriptive markup. (Please clear your mind of any of the proprietary extensions that happened in the HTML 3.2 days -- HTML 3.2 was, like a dictionary, a descriptive rather than prescriptive text. Font tags and so forth were browser-specific extensions added for visual layout, and have been deprecated in all current loose standards and eliminated in strict.) A table tag marks a data table. The fact that it is usually displayed in tabular format is a result of the browser's built-in default interpretation of the markup -- you can choose to change the display format if you want, but if it actually represents tabular data (and that's all a table tag should ever be used for), then a tabular display seems kinda fitting, don't you think? That doesn't make a table tag a layout tag; it is still a semantic tag.
Admin
Because not everyone is on a real fast screaming system. Firefox 1.5 is DOG SLOW loading up on my P4 2.4 GHz, and then there's the users that are still on dial-up and don't want to wait. If it's worked for um-teen years, then why change. I don't agree with this, but that's what I've heard.
Admin
As HTML is a data storage format with semantic elements and does not give instructions to a machine, that definition makes it not a programming language.
Admin
Are you used to fast dogs? I use Firefox 1.5 on a slower system (600 or so MHz), and it is not a dog. Maybe, you are low on memory.
Sincerely,
Gene WirchenkoAdmin
I haven't looked at the wikipedia pages.
What you've heard is correct. BUT.
HTML != instructions
I have a hard time putting it any shorter than that. :)
Admin
It's not the cpu that makes it slow.
Try throwing more ram at it.
Or get a better hard drive. Them's usually bottlenecks. A fast drive will deliver data faster. simple as that.
Oh, if only we could have gigs and gigs of fast cache memory right next to the CPU. I imagine no program would take longer than half a second to launch. But 512K already helps a lot. :)
But actually, that't not the point.
Your demands don't warrant catering to Netscape 4.crap, they just mean you have to build faster, smaller, leaner sites with less bells and half the whistles.
Admin
Well, dhromed, I'm not sure what you think "instructions" means, but I'd definitely include information on how to render text as "instructions".
Admin
Sorry that should really have said "format"
Admin
Which HTML doesn't have.
Admin
The disease which stops people from properly reading posts strikes again! My follow-up post corrected that typo to "format".
Admin
It doesn't contain formatting either, unless you translate that as 'data formatting'. Which still isn't visual formatting.
What it does contain, is a semantic description of the information, and hierarchical at that. Nothing more. Often less.
No instructions.
No "do this"
Only "this is it".
You could argue that, on a meta-level, a description is a single instruction: "Parse this". The langage itself doesn't contain any real instructions, though.