LOGIN
|
REGISTER NOW
|
SUBSCRIBE
AS OF 5/19/2013 3:11AM EST
HOME
ALL STORIES
LATEST NEWS
COLUMNS
OPINIONS
GUEST VIEWS
SHORT TAKES
LINKAPALOOZA
NEWSWIRE
SPECIAL REPORTS
ZEICHICK'S TAKE
SD TIMES 100
BE A NEWSHOUND
IPHONE APP
IPAD APP
RSS FEEDS
FACEBOOK
TWITTER
WHITE PAPERS
SPONSORED PROFILES
JOB BOARD
WEBINAR CENTER
FREE SOFTWARE
ANDROID NEWSLETTER
BIG DATA TECHREPORT
ALM
SHAREPOINT
EVENTS CALENDAR
PRINT/PDF EDITION
PRINT/PDF BACK ISSUES
SUBSCRIBE TODAY
CUSTOMER SERVICE
EDITORIAL BEATS
GUEST VIEW GUIDE
SD TIMES 100 GUIDE
EVENTS CALENDAR
ADVERTISING
ARTICLE REPRINTS
REPORT A BUG
SITE MAP
ABOUT US
BZ MEDIA NEWS
NEWS ON MONDAY
SPTECHREPORT
SPTECHWEB
SPTECHCON
IPHONE/IPAD DEVCON
ANDROID DEVCON
PRIVACY POLICY
CONTACT US
HOME
>>
COLUMNS
Just Say No to XML
By Allen Holub
Tweet
September 1, 2006 —
(Page 1 of 3)
XML is perhaps the worst programming language ever conceived. Im not talking about XML as a data-description language, which was its original design. Im talking about perverting XML for programming applications. Its inappropriate to use XML as a scripting language (e.g., ANT), a test-description language (e.g., TestNG), an object-relational mapping language (e.g., Hibernate, JDO), a control-flow language (e.g., JSF), and so forth. These sorts of XML programs are unreadable, unmaintainable, an order of magnitude larger than necessary, and audaciously inefficient at runtime.
So, why would anybody use XML in this bizarre way? As far as I can tell, its because many so-called programmers just dont know how to build a compiler. I really dont have much patience for this sort of thing. To my mind, there is a minimum set of topics with which you have to be conversant to call yourself a professional programmer. If you dont know these things, youre a dilettante. This list includes a deep understanding of data structures and key algorithms, a little math (set theory, logic, a little statistics), mastery of analysis-and-design techniques, both process (e.g., RUP or XP) and structure (e.g., design patterns), and database structure and use (e.g., SQL). You also need to know how the hardware works.
You need this stuff even if youre not actually using it in your work, because no matter what youre doing, knowing this material will make your work better. How could you possibly decide which of Javas Collection classes to use in a particular situation if you dont know how those classes work under the covers, for example?
Knowing how to build a compiler is certainly one of the skills on this need-to-know list. Compilers are fundamental to what we do every day as a programmer. Knowing how the compiler works will let you make intelligent decisions about program structure, decisions that have real impact on the quality of our programs. More to the point, most programs have to parse input (either from a human being or from a machine) and make sense of it. To do that, you have to build a small compiler. Corrupting XML for this purpose, simply because you happen to have an XML parser lying around, is inappropriate at best.
Next Page
Pages
1
2
3
Share this link:
http://sdt.bz/29508
Technorati
Digg
Reddit
Slashdot
Facebook
Friendfeed
Twitter
del.icio.us
Related Articles
MicroXML: The future of XML?
MicroXML has been proposed as a simpler alternative to XML, but is XML sufficiently complex to warrant a new language?
EXI makes for a smaller, faster XML
New W3C recommendation widens field for exchange of XML data across multiple use cases that didn’t work before
Zeichick's Take: XML, Dot-Coms, Microsoft Dominate Headlines
Just as interesting as looking at the year just passed it to look back a decade and see which stories were top of mind then.
NEXT ARTICLE
MicroXML: The future of XML?
MicroXML has been proposed as a simpler alternative to XML, but is XML sufficiently complex to warrant a new language?
Read More...
 
LOADING...
News on Monday
more>>
Android Developer News
more>>
SharePoint Tech Report
more>>
Big Data TechReport
more>>
Download Current Issue
MAY 2013 PDF ISSUE
Need Back Issues?
DOWNLOAD HERE
Want to subscribe?
CTIA 2013
5/21/2013 to 5/23/2013
Las Vegas
CTIA
AnDevCon Boston
5/28/2013 to 5/31/2013
Boston
BZ Media LLC
Fluent Conf.
5/28/2013 to 5/30/2013
San Francisco
O'Reilly Media
Better Software Conf.
6/2/2013 to 6/7/2013
Las Vegas
SQE
IBM Innovate
6/2/2013 to 6/6/2013
Orlando
IBM Rational
More