programming language

Thumbnail
An interactive قلب session showing the Fibonacci algorithm

قلب is a programming language exploring the role of human culture in coding. Code is written entirely in Arabic, highlighting cultural biases of computer science and challenging the assumptions we make about programming. It is implemented as a tree-walking language interpreter in JavsScript.

All modern programming tools are based on the ASCII character set, which encodes Latin Characters and was originally based on the English Language. As a result, programming has become tied to a single written culture. It carries with it a cultural bias that favors those who grew up reading and writing in that cultural. قلب explores and challenges that by presenting a language that deviates almost entirely from ASCII.

The Fibonacci Algorithm

Project Created: 
January 2013
 

As both New York State and Eyebeam contemplate public outreach and consider rebranding, I do my part and kill two birds with one stone.

 

Working on the Zajal installation for Open Studios. It’s going to be a hackable asteroids/shmup game with physical Arduino-driven controls. Exciting!

These screenshots demonstrate the asteroid generation algorithm I’m working on.

 

Second prototype of قلب’s code calligraphy. This one says مرحبا يا عالم (hello world), which isn’t executable code, but code-related and fun anyway.

 

First prototype of قلب’s code calligraphy, done in square kufic with glass tiles. It says “لكل ن” (for each n) and matches the bottom-right part of the bubble sort calligraphy prototype on the language’s site.

In preparation for Eyebeam’s Open Studios later this week.

 

Both Zajal and قلب will be on display at Eyebeam’s Open Studios this Friday and Saturday! Come by and check them out!

Zajal’s installation will show off it’s live coding of hardware, which Haitham Ennasr used for an interactive art piece last year.

 

Mockup of قلب’s new Scheme inspired syntax. I’ve been trying to arrive at a syntax that translates better into calligraphy than the first mockup, and with the parentheses removed, this syntax is nothing but words and numbers.

The parentheses are needed for the code to run correctly, but there is a precedent in leaving off dots, vowel markings, and punctuation in calligraphy, sacrificing readability for elegance.

The Scheme-like syntax is also easier to write an interpreter for.

The code was typed into TextMate, so it is unhighlighted and left-aligned. The English equivalent would be:

 

Eyebeam is renovating its entrance to turn it into a more public, multi-use exhibition and presentation space as well as a bookstore. Donate!

 
Syndicate content