TechHui

Hawaiʻi's Technology Community

Aloha TechHuians. Last month I blogged about the
SDL/Swing UI framework, which makes heavy use of the
Simple Declarative Language (SDL.) I came up with the idea for SDL about six years ago when I was buried in a mess of XML J2EE config files. It struck me that XML is great for things like marking up documents, but is unnecessarily verbose and hard to read for things like configuration files and describing basic data structures. I set about designing a language that better suites these purposes. The result was SDL, which we open sourced in 2005. We have been using SDL in production .NET and Java systems for over four years. It has been adopted by other organizations including Oracle and Bank of America. Contributors have ported the parser and library to other languages including Ruby and C++. Over the past six years several other languages have emerged with similar design goals, most notably JSON, but none of them are quite as fully featured as SDL, or as well suited to these particular purposes. Yesterday we
released SDL 1.1 for Java which includes proper namespaces and an enhanced API. I hope to finish the .NET version next month (SDL 1.0 has already been ported.) The
language guide has all the details. Here are a few samples to wet your appetite: A list:
nums 1 2 3 4
A map:
pet name="ralph" age=5 sheds=true
A matrix:
kernel {
0 1 1 1 0
1 2 2 2 1
0 1 1 1 0
}
A tag using namespaces, values, attributes and children:
ooi:user "dleuck" active=true techhui:language="java" {
relation "pniemeyer" type="friend" since=2003/12/03
relation "jsmith" type="business" since=2006/01/15
}
As always, comments, questions and creative insults are welcome! I'll be demoing SDL and SDL/Swing after my GWT presentation at tomorrow's Eclipse Users Group.
Ikayzo - Design • Build • Localize | Web • Desktop • Mobile

Views: 1060

Comment

You need to be a member of TechHui to add comments!

Join TechHui

Sponsors

web design, web development, localization

© 2024   Created by Daniel Leuck.   Powered by

Badges  |  Report an Issue  |  Terms of Service