There are many students of Creative Technology to which programming is a necessity, and a boring one at that. The code on your screen is often not a very inspiring sight.
Perhaps you are more into art and literature than into C++ , like many fellow students.
Do not despair! There are options for you that may be unconventional, but much more interesting to you. They might not help you score an 10 for Programming, but it might work in a very original Gogbot project.
What are esoteric programming languages?
Programming languages usually have a pretty logical syntax. Most conventional languages allow loops in the form of “i = 0; i < n; i++” for example. Esoteric programming languages do it completely different: they try to make their syntax and features as strange, funny or unconventional as possible. These are often designed purely as a challenge to both the designer of the language and those daring to program with them.
Some are meant to be hard, such as “brainfuck“: this language consists of only eight different characters (such as +, [ and >). Some push the boundaries of what can be called a programming language, such as the one that goes by the name of “A programming language is a formal computer language designed to communicate instructions to a machine, particularly a computer.”, which can only interpret and execute one program: one that prints the sentence that is also its name.
I have selected some languages that you might try if you really hate typing lots of brackets, semicolons and other symbols, and instead want to use fancy literature or modern art.
If you liked the colors of Angelika’s slides more than their content: use Piet
What? This programming language is called ‘Piet‘, after Dutch painter Piet Mondriaan. This language has one design principle: program code will be in the form of abstract art. In Piet, a pointer travels along the rows of colored blocks in the program. Going from one color (e.g. dark red) to another (e.g. light cyan) has a meaning: both the change in hue and change in lightness determine what operation happens. For example: going from a color to one that is 2 levels darker and 1 level of hue-change away results in a ‘substract’-operation.
Using simple operations, you can calculate and produce ASCII characters. The program in the figure above (the picture on the right) can test whether a number is a prime number, for example.
Why? If you ever looked at Angelika’s slides and wondered ‘Why did she choose that color pink?’ , ‘Wouldn’t red be a better color to represent all integers in this code?’ or ‘Can I make a living if I switch to an art study instead of dealing with this?’, then this may be a challenge for you. Granted, in the end it’s still logic, but the small community that practices Piet cares more about the looks of the program and the creativity behind it, than the end result. That may be just the motivation you need.
Or if you were considering studying literature: use one of these
What? If you are not into modern art, maybe literature is your thing.
Into classic English literature? Try “Shakespeare“. All programs in this language look like Shakespeare’s play. As the language’s homepage states: “The characters in the play are variables. If you want to assign a character, let’s say Hamlet, a negative value, you put him and another character on the stage and let that character insult Hamlet.”
An example of a conditional statement to call a goto would be:
Juliet: Am I better than you? Hamlet: If so, let us proceed to scene III.
Why? Going back to Programming in Processing lecture 2, you might remember analogies like ‘imagine a function is a cake factory, then eggs, sugar, butter and flour are like the variables’. These analogies help a lot for many people. So a programming language where the variables are characters like Romeo and Juliet, or types of food undergoing a process? They may be designed for fun, but they may also actually help you get a better grasp of what programming actually is.
These are only some of the many weird languages out there. A fairly large list can be found here. Good luck trying to find one that suits you! Though if you’re not going to try one out – let’s face it, you’re probably not – if anything these languages are a tribute to pushing the boundaries between art and technology, and that is something for every Creative Technologist to think about!
Featured image: from here.