Data languages

If not XML, then what?

There are many widely used programming languages, but the world of data description languages in very different. There are very few wide-spread data languages and thousands created for just a single software project.
When faced with a problem of storing data in files, most people choose XML, a language that has not been designed for that purpose. XML was designed to annotate text documents and for this it is good. For general data programmers should choose one of XML alternatives.

NameWebpageOriginal descriptionCharacteristic
XML

Extensible Markup Language

Extensible Markup Language (XML) is a simple, very flexible text format derived from SGML (ISO 8879). Originally designed to meet the challenges of large-scale electronic publishing, XML is also playing an increasingly important role in the exchange of a wide variety of data on the Web and elsewhere. Text document annotated with nestable elements. Each element can have several string-valued attributes. Document specifications written in separate languages.
Yaml

Yaml Ain't Markup Language

YAML™ (rhymes with “camel”) is a human-friendly, cross language, Unicode based data serialization language designed around the common native data structures of agile programming languages. It is broadly useful for programming needs ranging from configuration files to Internet messaging to object persistence to data auditing. Graph structured data with (tagged) scalars, sequences and mappings. Human friendly Python-like syntax.
Harpoon

One syntax to rule them all

Universal, programmer-friendly data-oriented language, designed to provide one syntax for all range of documents, configuration files, knowledge representations, objects serialization and even for scripts and large-scale programs Tree structured data with (tagged) records, lists, tuples and several primitives. Optional types for data specification. C-like syntax with syntactic sugar.
JSON

The Fat-Free Alternative to XML

JSON (JavaScript Object Notation) is a lightweight data-interchange format. It is easy for humans to read and write. It is easy for machines to parse and generate. It is based on a subset of the JavaScript Programming Language [...] JSON is a text format that is completely language independent but uses conventions that are familiar to programmers of the C-family of languages Tree structured data with objects (name-value pairs), arrays and values (strings, numbers, true, false, null).
Lumas

Universal Message Abstraction and Specification

Messages are defined using a compact high level C/C++ like syntax that allows a number of tools to be used to aid the implementation process. The on-the-wire format is a compact text form (sometimes less than half the size of a corresponding XML message). Being text based, it is easy to write test messages, analyse protocol exchanges, and extend for proprietary purposes. Tree structured data in a compact text encoding, that has a message specification language.
S-expressions

The Lisp syntax

The term S-expression or sexp (S stands for symbolic) refers to a convention for representing semi-structured data in human-readable textual form. S- expressions are probably best known for their use in the Lisp and Scheme programming languages. Extremally simple with only nestable lists and atomic symbols. Writing a parser is trival.

Other interesting projects:

http://www.seairth.com/web/onx/

http://www.iwriteiam.nl/AoP_spec_val.html

http://www.rebol.com/index-lang.html

Contact [email protected]

Hosted by www.Geocities.ws

1