Well that worked out pretty well: I have a 3D environment on Android programmed in a simple but powerful declarative language which I've called "Cyrus".

Cyrus basically uses JSON all the way through: from user interface and scene graph to rewrite rules, on the wire and on disk. The Cyrus programming language is essentially JSON itself, as JSON rewrite rules. I've reduced the noise of JSON in Cyrus by taking out redundant double-quotes, square brackets and commas. It looks very nice to me.

The Name Cyrus

Now, probably to everyone's confusion and annoyance, I'm always thinking of multiple names for the many things I create around the core principles I'm evangelising. And then changing them all the time!

So I decided to choose a single new name, "Cyrus", for everything, and will endeavour to stick with it this time... I got the name from playing around with the letters of 'cyberspace rules', but will probably claim it stands for "cyberspace rules updating state" or something, because that sounds more impressive.

One advantage of this name is that both academics and regular folk should be able to spell it!

So now NetMash and Fjord are the "Cyrus app" and the "Cyrus programming language" respectively; the Object Network is now just the Cyrus network - a Web of JSON.

Once I have rough consensus and running code, it'll all be exchanging data via the Cyrus Media Type - probably "text/cyrus" for the simplified form and "application/cyrus+json" for the noisy one.

The basic underlying model and architecture implemented in Cyrus are still called "Functional Observer" and FOREST, however.

The Future of Programming

Edd Dumbill has recently described how he sees the Future of Programming.

In that article, Edd offers five categories that he sees as forces driving this, which I'd paraphrase as: concurrency within and between machines; embedded and mobile hardware; data-oriented programming; end-user programming; simplifying the software stack.

I was pretty excited to read this, because it accurately describes the drivers behind Cyrus.

Cyrus in 2013

So I'm now going to spend 2013 explaining to everyone why Cyrus is the next programming language they should try out. And, like I said before, I mean everyone - from kids to grannies, via Business Analysts.

Cyrus is, of course, very new, but even while it's maturing this year, it will still be good for non-critical uses, such as prototyping - especially mobile or distributed apps and sketching out business rules - and for making little fun apps, maybe while learning to program.

Do join the Cyrus Google Group if you want to get involved in any way, or just post a comment below.