Gooze and beyond

Allison on 2005-04-05T16:28:59

I was poking around in the proceedings for MIT's Lightweight Languages 2004, and ran across a language called Gooze. It's a "multimedia stream processing language" -- basically audio and video manipulation. The syntax does an incredible job of hiding complexity. The syntax to transparently overlay one video sequence on top of another is:

(add (tvid1) (tvid2))
Multiple cool examples in the presentation (RealMedia), which is written in Gooze.

I've wondered for a while if the future of programming languages is away from monolingualism and toward polylingualism. That is, instead of one language to do everything, we'll have a whole bunch of domain-specific languages. Each can have a clean and simple syntax to solve a specific set of problems because it's only trying to solve that set of problems. Of course, people will need some way to get these languages to work together. When you have a video processing language, a number crunching language, a physics simulation language, and a VR interface language, you'll ultimately want to tie them together to build your game.

Perhaps one future purpose of Perl (on Parrot) is in fact the same as its original purpose: the glue language. But now the glue language for languages.


Already there...

Matts on 2005-04-05T22:03:56

That's exactly what perl's regexp ability was all about. In many ways I tried to make it what processing XML with Perl via XPath was all about (though didn't go the whole hog with integrating it into the language, but for many it's close enough).

I think ultimately it's exactly the right thing to do.