RSS RSS feed
November 21, 2009
Hot Topics:

Views from Abroad: Simkin, A New Breed of Scripting Language

  • May 23, 2001
  • By Benoît Marchal
  • Send Email »
  • More Articles »

As a writer, I like products that are easy to classify, because they just make my life easier. As a programmer, I know that innovation knows no such boundaries. Case in point: Simkin. What is Simkin exactly? Is it a scripting language, a data format, or an extension architecture?

Benoît Marchal

To understand it better, I met Simon Whiteside, Simkin's creator, in London. The conversation also provides insights into how a small corporation can successfully open-source a product.

How to Skin that Cat?

Simkin is a blend of a scripting language and XML. Although it's far from being the only XML scripting language (other contenders include XSLT, XML Script, and XFlat), it is one of the most original. I know few other languages that combine scripts (code) and data as Simkin does.

In practice, Simkin encourages you to insert scripts in the middle of XML data files -- for example, the e-mail address of a user and a script describing what to do with the e-mail. For more technical details on Simkin, refer to Simkin: A Scripting Language for XML.

Whiteside explains that Simkin originated as a game development tool. At the time, he was a contractor on a game project for the BBC. His problem? Game designers kept changing their minds, and he had to redo his code. His solution? Develop a scripting language that let designers describe the game environment (data) and the artifacts' behavior (code).

Whiteside clarifies this unusual decision: "I aimed Simkin at non-programmers so I had to keep the number of concepts down."

On Open Source

Whiteside tried to sell Simkin through his consulting company, Lateral Arts but although Simkin was adopted by Sibelius, a music notation program, sales remained low.

"Simkin is unusual, so it takes some time to get used to it; but as an embedded scripting language, it is valuable, and I encourage you to acquaint yourself with it."

"For Sibelius, I introduced special syntax, such as the 'for-each-note' statement," explains Whiteside. The result is a custom language that engages musicians, even though they are not developers.

However, Whiteside lacked the resources to market Simkin effectively and decided to open-source it: "The dynamic of open source is different from commercial products. I use freshmeat.net as my main way out and, within hours of announcing an update, I can see the downloads."

Who are the users? "Originally mostly students," he says, "then other open source projects -- mostly games -- started using it. Now, I see interest from corporate developers." He adds that "people will find that to use XML, they need an interpreter. They will either put it in Java, for example, through JavaScript, or in XML" via something like Simkin.

Of course, Whiteside thinks an XML scripting tool is best suited. "JavaScript has a strict syntax whereas Simkin is intended to be customized. For example, the object runtime model relies on the model of the application. Simkin is intended to build an abstract layer on top of the application so that business analysts could write XML and Simkin code."

Clearly, Simkin is unusual, so it takes some time to get used to it; but as an embedded scripting language, it is valuable, and I encourage you to acquaint yourself with it.

'Til Next Time

If you want to propose a project -- whether open source or commercial -- or make other comments on this column, use the feedback form at marchal.com.

About the Author

Benoît Marchal is a Belgian developer and writer. He is the author of XML by Example and Applied XML Solutions.

1




Networking Solutions





Partners

  • Partner With Us














More for Developers

internet.commediabistro.comJusttechjobs.comGraphics.com

Search:

WebMediaBrands Corporate Info

Legal Notices, Licensing, Permissions, Privacy Policy.
Advertise | Newsletters | Shopping | E-mail Offers | Freelance Jobs