Showing posts with label XML. Show all posts
Showing posts with label XML. Show all posts

Sunday, November 20, 2011

A Markup Notation Better Then Ever

In the previous blog article, I talked about general data-exchange format and some of the problems of XML. The original design that constrained XML to just a general syntactic format caused great headache to people building advanced processing capabilities on top of XML.

Among the people who are rethinking XML, James Clark has suggested 3 approaches: XML 2.0, XML.next, MicroXML, which pus forward a solid framework to start with. Candle is definitely along the XML.next line. Candle is not compatible with XML; it actually goes beyond XML to unify markup data model with object data model.

In this blog, I'll explain in more details on how Candle Markup (especially with the new object notation) addresses many problems of XML, and how it compares with other formats like JSON and YAML.

Friday, November 18, 2011

Who needs XML?

With the latest beta release, Candle introduces several new features to its markup format, including a new object notation and a new clean namespace syntax. With this release, I believe Candle Markup to be one of the best general data-exchange format.

Before I talk specifically about Candle's Markup format, let's look at the existing general data-exchange formats. The most well known formats are XML and JSON. We've seen many hot debates on which one is better. I'm not going to restart the holy war here. I'll try to get you out of the tit-for-tat comparison of JSON against XML, and let your look the problem from a more fundamental perspective. You can ask yourself a few questions: why do we need a general data-exchange format? what purposes should it server? what characteristics should it have? Once you've got your answers, you can read on to see if yours reconcile with mine.

Monday, August 8, 2011

Towards the Grand Unification

Today's programming world is quite different from 20 years ago, when C/C++ was still the dominant language(s), and we just need to learn one language(s) to do all our work. Today, there are 3 major paradigms of applications: the oldest command line apps, the desktop GUI apps and the latest web apps. The last one is quite different from the other two as it utilizes many DSLs (domain specific languages). These DSLs made us more expressive, but also gave us all the headaches of a multi-lingual speaker. Isn't it great if we just need to speak one "universal language"?

Wednesday, July 27, 2011

Why I invented Candle (II)

In the previous article, I talked about the motivation of inventing Candle from the perspective of a markup-data processing language. In this article, I'll continue the discussion from the perspective of a general-purpose programming language.

Friday, June 24, 2011

Why I Invented Candle (I)

The very first idea of inventing a new programming language hit upon me more than 10 years ago. At that time, I was still in the university, and I was trying to build a web forum for my peer scholars. I was using Perl. The pain in using Perl drove me to invent a better language that treats markup as built-in data type. Initially I was trying to mix XML with Java, which I considered to be the best markup and programming languages in the world. Then came XSLT and XQuery, which changed my design of the new language fundamentally.