IBNIZ looks even less like a programming language than what is usually posted here. It is both a language and a demoscene platform, designed for the creation of audio/visual performances using low-level code.
Take the program
Its output looks like this:
IBNIZ is built on Forth, as are FALSE, Befunge, and Piet. It’s stack-based and uses single-letter commands, (also familiar from FALSE and Befunge), but all IBNIZ programs run in an endless loop, similar to other performance-based languages. The images and sequences are not created with output-related commands (some equivalent of “draw”). Instead, as the program runs (any program, from Fibonacci sequence to printing simple string), anything that happens to be currently sitting on the data stack during execution is re-interpreted as pixel and sound data. IBNIZ is Turing-complete, but that is almost not the point – it is as if the performance were a side-effect of the running code.
This often creates patterns which change over time, such as the Plasma sequence:
Beginning of Plasma sequence, code:
IBNIZ is approachable because even before one understands the language, one can type random strings to create sequences; it’s acceptable to type in any characters – valid or invalid – in any order. Any bad commands are simply ignored. Viznut hopes that playing with the system will draw people into understanding it, to experiment with the performance – and perhaps it could be a first step to creating their own demos:
I am somewhat concerned that young people whose mindset would have made them great programmers in the eighties find their mindset totally incompatible with today’s mainstream technology and therefore get completely driven away from programming. IBNIZ will hopefully be able to serve as an “oldschool-style platform” in a way that is rewarding enough for today’s beginning programming hobbyists
This is an idea familiar from esolangers like Wouter van Oortmerssen who believe there is value in the “immediacy and tangibility” of coding close to the machine, rather than using software or programming environments that insulate the programmer.
The program /
To experiment with IBNIZ: the virtual machine can be downloaded here, at least for Windows. There is also a link to the JS version, although it seems not to be currently functional.
More of Viznut’s thoughts on the future of demoscene can be read here.