zajal_brownian
zajal_flower
zajal_mauve
zajal_video

Zajal

A New Programming Language for Visual Artists and Creative Hackers

Ramsey Nasser

Zajal is a programming language for people with interesting ideas. Inspired by the seminal Processing project, based on the lovable Ruby programming language and powered by the awesome openFrameworks library, Zajal strives to make writing and playing with software as enjoyable as possible. It consists of a language interpreter distributed as a desktop application with built in support for video, images, graphics, hardware like Arduino and internet connectivity. Being approached as an exercise in user interface design, Zajal is being built with the continuous feedback from the community to ensure that it really is a language that frees the programmer to concentrate on the most important part of coding – their idea.

In Zajal, all coding is live, meaning that changes made to a sketch appear in the window immediately. There is no need to stop and restart to see the effects of a modification, granting the programmer a kind of sculpting ability to tweak the code as it runs. The syntax is clean and readable, making it both approachable for beginners and maintainable for experts. Its basis in Ruby makes is compatible with that language’s massive repertoire of prewritten open source code, further freeing Zajal programmers from the need to focus on anything but their ideas.