Obsessive Compulsive XMLing

G

gerrards8

No doubt that XML has its great and countless benefits. *But*, haven't
programmers developed an out-of-control addiction to such data format?

This obsession of XMLing everything (build scripts, database mapping,
setup & configuration, ... etc.) without proper GUI tools to
intelligently and efficiently edit and maintain such *data* contradicts
the very fundamental role of the programmers' profession, don't you agree?

What is causing the dependency of such practice? Is it laziness or rush
for production (one day we or someone else will build a GUI editor for
this), Yet, this could be the most productive practice in software
development (editing and maintaining raw XML documents of various and
complex type definitions) but not properly appreciated by a very very
few of us.
 
J

jan V

No doubt that XML has its great and countless benefits. *But*, haven't
programmers developed an out-of-control addiction to such data format?

Yes, yes, yes, YES... OH YES (what an orgasmic confirmation !! It's such a
pleasure to confirm this though..)
This obsession of XMLing everything (build scripts, database mapping,
setup & configuration, ... etc.) without proper GUI tools to
intelligently and efficiently edit and maintain such *data* contradicts
the very fundamental role of the programmers' profession, don't you agree?

Hey dude, I'm not in the habit of double orgasms... but YES, YES, YES.
What is causing the dependency of such practice? Is it laziness or rush
for production (one day we or someone else will build a GUI editor for
this), Yet, this could be the most productive practice in software
development (editing and maintaining raw XML documents of various and
complex type definitions) but not properly appreciated by a very very
few of us.

Bandwagon effect. Too many people can't or won't think critically. Rocking
the boat is very unpopular.

Modern software development is a very complex business, and any individual
developer is like a leaf on a large tree... the leaf has little knowledge of
the structure of the tree, and can't form an overall picture allowing the
leaf to realise that the structure of the tree might actually not make much
sense. So when manager X comes to developer Y and says "You're gonna write
this and we need the data to be XML.", the poor leaf just gets on with it,
not realising that the entire branch he or she is part of is diseased.

I'm using the tree analogy because trees grow from small things, when
everything can still be understood, so that it presumably makes sense. But
as trees grow, the distance between leaves grow, and communication starts to
break down. Before you know it, leaves on one branch don't talk to leaves on
other branches, and that's the transition to chronic, institutionalized
nonsense. Any leaf daring to question the very structure of which it is part
is ridiculed and may have its vital fluids cut off. Continued growth of the
tree (company growth) becomes the mantra, at the expense of rational
behaviour.

I think this metaphor has perfect parallels at the bigger scale of countries
where blind persuit of growth likewise leads to gross nonsense.. and worse
(let's not start on how Bush and Iraq fit this picture!!)
 
R

Roedy Green

This obsession of XMLing everything (build scripts, database mapping,
setup & configuration, ... etc.) without proper GUI tools to
intelligently and efficiently edit and maintain such *data* contradicts
the very fundamental role of the programmers' profession, don't you agree?

I would like to quote you in http://mindprod.com/jgloss/xml.html
What is your name for the attribution?
 
J

jan V

..and maintain ..
As in 'validate the XML against a series of rules'?
DTD, XSD, Schematron, Relax-NG..

It's all very good and well to use validation when the original raison
d'etre for XML in a project was sound.

But to use validation when the original reason to go with XML was nonsense,
just compounds the nonsense.

Using my tree analogy, adding validation to XML data which should never have
been XML in the first place is like growing the branch you're on a little
more, and growing a few new leaves. Now the "XML validation" leaf thinks its
purpose in life is valuable, when in fact it is part of the problem....
 
A

Andrew Thompson

It's all very good and well to use validation when the original raison
d'etre for XML in a project was sound.

I am glad we are in agreement.
But to use validation when the original reason to go with XML was nonsense,
just compounds the nonsense.

I was making no comment on badly applied XML. Simply
that XML can be easily validated.

--
Andrew Thompson
physci.org 1point1c.org javasaver.com lensescapes.com athompson.info
"I don't wanna' be like other people are. Don't wanna' own a key, don't
wanna' wash my car.."
New Order 'Turn My Way'
 
I

isitmeorthey

No doubt that XML has its great and countless benefits. *But*, haven't
programmers developed an out-of-control addiction to such data format?

This obsession of XMLing everything (build scripts, database mapping,
setup & configuration, ... etc.) without proper GUI tools to
intelligently and efficiently edit and maintain such *data*

(?) There's a bunch of good GUI soft to edit and maintain XMLs
"intelligently" - validation, XPath usage, etc..

contradicts the very fundamental role of the programmers' profession, don't you > agree?

why do you suppose this?
What is causing the dependency of such practice? Is it laziness or rush
for production (one day we or someone else will build a GUI editor for
this), Yet, this could be the most productive practice in software
development (editing and maintaining raw XML documents of various and
complex type definitions) but not properly appreciated by a very very
few of us.

XML allows us to easily not only to define a data structure according
to a schema, but also new schemas in an easy manner. Parsing,
validating and Transform XMLs it's also easy due to a lot of good and
free libraries..
Is it better to define everything that needs to be defined in its own
file format, creating a parser and a validator, etc.. than to refer to
an standard, well-documented and implemented, and easy to understand
and use ?
 
J

jan V

contradicts the very fundamental role of the programmers' profession,
don't you > agree?
why do you suppose this?

Because we're here to automate the automatable. We're here to program the
computer to manipulate the data. We're not here to maintain (or endlessly
debug) the data itself (read: the XML).
XML allows us to easily not only to define a data structure according
to a schema, but also new schemas in an easy manner. Parsing,
validating and Transform XMLs it's also easy due to a lot of good and
free libraries..

Hammers are also great at bashing screws into wood, or even metal, if your
screw is strong. ;-)
 
H

Hemal Pandya

No doubt that XML has its great and countless benefits. *But*, haven't
programmers developed an out-of-control addiction to such data format?

I have heard that the original creator(s) of XML (SGML?) thought it
wasn't an appropriate format for reading by human. But I do not agree
that a tool should be used only for its original intended purpose.
This obsession of XMLing everything (build scripts, database mapping,
setup & configuration, ... etc.) without proper GUI tools to
intelligently and efficiently edit and maintain such *data* contradicts
the very fundamental role of the programmers' profession, don't you agree?

I don't care too much for GUI tools for repeated tasks, so I don't
agree. Among those that you mention, may I ask which one do you find
inappropriate for XML representation?
 
J

jan V

No doubt that XML has its great and countless benefits. *But*, haven't
I have heard that the original creator(s) of XML (SGML?) thought it
wasn't an appropriate format for reading by human. But I do not agree
that a tool should be used only for its original intended purpose.

That's right, a screwdriver can also be used to lever stubborn objects (thus
bending the axis), or used as a chisel (thus knackering the blade), or as an
impromptu hammer (thus pitting the handle, making it more comfortable for
use as a screwdriver next time)...

The same comment can be applied to the web: it was designed to publish
interconnected pages of information, not as delivery medium for programs
that spread themselves out over endless "pages".

Of course, you can't *stop* people abusing an invention's original purpose,
but often people abuse a technology well beyond any rational limits. The web
and XML are two good examples.
 
H

Hemal Pandya

jan said:
That's right, a screwdriver can also be used to lever stubborn objects (thus
bending the axis), or used as a chisel (thus knackering the blade), or as an
impromptu hammer (thus pitting the handle, making it more comfortable for
use as a screwdriver next time)...

The same comment can be applied to the web: it was designed to publish
interconnected pages of information, not as delivery medium for programs
that spread themselves out over endless "pages".

Of course, you can't *stop* people abusing an invention's original purpose,
but often people abuse a technology well beyond any rational limits. The web
and XML are two good examples.

So....among those listed, which one do you not find appropriate for
XMLizing? Ok, build scripts, because I love make and pretty much hate
build.xml, but configurations, mapping, vaguley structured information,
I find XML very apt at handling.
 
J

jan V

Of course, you can't *stop* people abusing an invention's original
purpose,
So....among those listed, which one do you not find appropriate for
XMLizing? Ok, build scripts, because I love make and pretty much hate
build.xml, but configurations, mapping, vaguley structured information,
I find XML very apt at handling.

I treat XML as a potential candidate to solve inter-system communication
needs. I like the idea of systems exposing protocols which use
XML-structured messages. It lets completely different systems exchange
information in a clean, universally understood fashion. Such use of XML
means only the machines deal with XML, not people.

I do not like XML at all for data storage whereby the data is staying local,
e.g. configuration files. When data is naturally tree-structured, then
obviously XML becomes a natural fit, but even then XML may not be the best
thing to go with. Wherever you have files which are not meant to be read by
programmers, using XML for the data seems to imply that it's OK to start
opening these files in text editors and look at the content... and that's
where things become silly. All too often, people pick XML as the data
format, then force users to go rummage around in these files, and that's
totally wrong. Like cursed ANT. Now you've got every Tom, Dick and Harry
writing ANT tasks, and we're spending more time reading/writing/debugging
blasted XML files than actually programming.
 
M

Mark Thornton

No doubt that XML has its great and countless benefits. *But*, haven't
programmers developed an out-of-control addiction to such data format?

Perhaps, but like democracy it is greatly preferable to many of the
alternatives. Binary formats tend to be fragile --- specific to some
version of the software. Most text formats other than xml are awkward
(or don't work at all) for characters outside ISO-8859-1 or even ascii
(or worse still leave the encoding undefined).

Mark Thornton
 
T

Tim Tyler

This obsession of XMLing everything (build scripts, database mapping,
setup & configuration, ... etc.) without proper GUI tools to
intelligently and efficiently edit and maintain such *data* contradicts
the very fundamental role of the programmers' profession, don't you agree?

You sound as though you need to get hold of an XML editor.
 
M

Mark Thornton

Roedy said:
I would like to quote you in http://mindprod.com/jgloss/xml.html
What is your name for the attribution?

I notice this comment: "In practice no one does compress it."
in your entry on XML. This is most definitely not true. I have received
thousands of files representing many gb of data as compressed xml files.
For example, the UK Ordnance Survey supplies mapping data as GZ
compressed gml files (an application of XML).

Mark Thornton
 
J

jan V

Mark Thornton said:
Perhaps, but like democracy it is greatly preferable to many of the
alternatives. Binary formats tend to be fragile --- specific to some
version of the software.

So is XML in the hands of people who don't think through the issues. I've
worked with people who use XML but who don't seem to think documenting the
format is worth doing. Talk about fragility...
Most text formats other than xml are awkward
(or don't work at all) for characters outside ISO-8859-1 or even ascii
(or worse still leave the encoding undefined).

Agreed that the defined encoding is a significant step forwards.
 
J

jan V

This obsession of XMLing everything (build scripts, database mapping,
agree?

You sound as though you need to get hold of an XML editor.

No, that's the whole point, programmers - people in general -, shouldn't
have to wade through XML structures, not using ASCII editors, not using XML
editors, full stop.

XML is not meant to be routine reading material for people, it's meant to
communicate structured data in a portable way from machine to machine (or
application to application in general, but NOT from machine to human). I
think too many people confuse the two usage modes, and that's what most XML
critics like myself have against the widespread *abuse* of XML today.
 
A

Andrew Thompson

So is XML in the hands of people who don't think through the issues.

(chuckles) Next you'll be saying that about weapons of war.
Hey, ...wait a second.
..I've
worked with people who use XML but who don't seem to think documenting the
format is worth doing.

Interesting you should say that. Over the past week or
so I have been pulling apart, reverse engineering* and
devising all manner of DTD and schema to help check the
validity of XML files used by a legacy application.

* I say 'reverse engineering' because the documentation
available on the format left a lot to the imagination.

After devising schema that seemed logical, I ran it
against 210 existing files, 7 of which were found to
contain invalid data.

I have sent a patch of the schema as well as the 7 XML
files to the author, though I have yet to see how he
will react to that...

What does all this rambling add up to?
- Any format is fragile if it is not thoroughly described
and validated.
- Any technology that is good for one thing, can (and will)
be misapplied to other things.

Go figure..
 
G

gerrards8

jan said:
I do not like XML at all for data storage whereby the data is staying local,
e.g. configuration files. When data is naturally tree-structured, then
obviously XML becomes a natural fit, but even then XML may not be the best
thing to go with. Wherever you have files which are not meant to be read by
programmers, using XML for the data seems to imply that it's OK to start
opening these files in text editors and look at the content... and that's
where things become silly. All too often, people pick XML as the data
format, then force users to go rummage around in these files, and that's
totally wrong. Like cursed ANT. Now you've got every Tom, Dick and Harry
writing ANT tasks, and we're spending more time reading/writing/debugging
blasted XML files than actually programming.

Terrific posts!

Speaking of Ant (which is a great build tool to use as long as you don't
have to write the script), here are some few interesting words from
James Duncan Davidson: http://x180.net/Journal/2004/03/31.html

For those who don't know James, he is the original author of both Tomcat
& Ant. See http://ant.apache.org/faq.html#history and
http://en.wikipedia.org/wiki/James_Duncan_Davidson for more info.

The XML effect on Ant is a classic case of XML obsession. This is now a
scripting language, not data. Even its original programmer regrets the
day he decided on using XML as a format; he chose XML because of the
hype plus the facts that he didn't need to write a parser, nor did he
have to write a front end. "I wanted to take the easiest way possible"
he admits, and that admission comes only because he is much bigger than
the rest of those blind followers who lack the ability to identify and
admit their mistakes.
 
J

jan V

Speaking of Ant (which is a great build tool to use as long as you don't
have to write the script), here are some few interesting words from
James Duncan Davidson: http://x180.net/Journal/2004/03/31.html

What a great article. Sanity does survive in very small corners of our
industry... such a shame the bulk of managers and developers are not blessed
with the kind of self-critical skills as James Davidson.

It takes being a great person to be honest about unpallatable truths,
especially those pertaining to oneself. We all know that the majority of
people, regardless of profession, have great difficulties with staring
reality hard in the eye...
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

No members online now.

Forum statistics

Threads
474,432
Messages
2,571,680
Members
48,796
Latest member
Greg L.

Latest Threads

Top