5 ms·
In the article it says: "XML essentially is a programming language..." Well, it's a markup language used for content presentation in a compact form (not so com
by aurora72 17y ago
In the article it says: "XML essentially is a programming language..." Well, it's a markup language used for content presentation in a compact form (not so compact as in s-expressions, though), so it's not a programming language. XSLT is.
- troels 17y agoprogramming language, markup language ... tuh-mey-toh, tuh-mah-toh
- mjgoins 17y agoSeriously? Are tuh-mey-tohs and tuh-mah-tohs completely different fruits?
- troels 17y agoDepends on your definition of "programming language" as well as "markup language". One could argue that XML isn't anything but a specification of a syntax (Similar to s-expressions). But then "markup language" is an imprecise term (regardless of what the abbreviation stands for). It's a "syntax". So, if by "markup language" you mean "syntax", then I'll give that they are different categories, but then I would also argue that you're using the wrong word.
- scott_s 17y agoMarkup language: describes content. Programming language: performs tasks. There are languages that fit both (such as Tex, and consequently, Latex), but this does not preclude us from drawing a distinction between the two in clear-cut cases (such as HTML versus C).
- troels 17y ago> ... drawing a distinction between the two in clear-cut cases (such as HTML versus C). If anything, declarative languages (or markup languages if you prefer) are a sub-category of programming languages. Imperative languages are another sub-category.
- scott_s 17y agoTo me, a "programming language" is a language that allows me to express computations. Markup don't need any concept of computation, so I don't consider them programming languages.
- mustpax 17y agoWell, to the Von Neumann architecture, data and instructions are all the same. Just a matter of where the Program Counter points to. Also both XML and XSLT are interpreted. Meaning a real program reads the source and manipulates the system accordingly. I really have no problem treating the two as equivalent.
- sparky 17y agoFor Princeton architectures, anyway :P http://en.wikibooks.org/wiki/Microprocessor_Design/Computer_Architecture#Harvard_Architecture http://en.wikibooks.org/wiki/Microprocessor_Design/Computer_...
- deleted 17y ago[deleted]
- davidw 17y agoSure, we all know that, but the trick is what to write for an audience that may have close to no knowledge of how computers work.
- jamesbritt 17y ago"Sure, we all know that, but the trick is what to write for an audience that may have close to no knowledge of how computers work." Maybe, but such writting also helps ensure that the audience never learns how computers work.
- davidw 17y agoThey're reading a brief news story, not an in depth analysis. Presumably they're smart enough to go elsewhere if they want to learn more. I'm not saying to write something incorrect, I'm saying the trick is to write something that's both correct, and comprehensible to the average person.
- jamesbritt 17y agoSure, but saying XML is a programming language is wrong, however simplified it may seem.
- smithjchris 17y agoXML is definitely not a programming language. It's not turing complete.
- eru 17y agoOh, you can program meaningful in less than turing complete languages. See Datalog, or even SQL.
- jfoutz 17y agoThe DTD is part of the 1.0 spec. The DTD is just a regular expression, and your document as a string to match. The validator is the interpreter that gives you a yes/no answer for any problem you can represent in those terms. Actually... hmm. If you look closely at the entity replacement rules, the conditional inclusion entities, and the ability to include external dtd references, you may well be able to get full turing completeness.
- loumf 17y agoI could write programs in XML and write a machine to run them. <function name="main"><call function="print"><arg>Hello, World</arg></call></function> XML isn't a programming language in the same way ASCII isn't a programming language -- in the same way CSV isn't a programming language. Not because of turing completeness, but because they are a completely different thing.
- scott_s 17y agoBeing Turing complete is a sufficient but not necessary condition to be called a programming language. The best necessary condition I can come up with for a language to be called a programming language is that it expresses computations.
- trezor 17y agoWell, it's a markup language used for content presentation XML is not for presenting information. It is for storing and describing it. Sorry. One of my favourite nitpicks.