# Pixilang

> programming language designed for cross-platform graphics and sound applications

**Wikidata**: [Q4047012](https://www.wikidata.org/wiki/Q4047012)  
**Source**: https://4ort.xyz/entity/pixilang

## Summary
Pixilang is a programming language created in 2006 for building cross-platform graphics and sound applications. It compiles to byte-code and runs on Android, desktop and embedded systems under the MIT License since 24 Dec 2012.

## Key Facts
- Inception: 2006
- Current license: MIT License (adopted 24 Dec 2012); earlier versions used BSD (3 Feb 2008 – 24 Dec 2012) and GPL (4 Apr 2007 – 3 Feb 2008)
- File extensions: .pixi, .txt, .pixicode
- Latest documented version: 3.0 released 1 Sep 2011
- Official websites: http://www.warmplace.ru/soft/pixilang/ (English) and https://www.warmplace.ru/soft/pixilang/index_ru.php (Russian)
- Android app distributed via Google Play under ID nightradio.pixilang
- Writable output format: Pixilang compiled byte-code
- Wikidata sitelinks: 2; BabelNet ID: 06153671n
- Telegram channel: @pixilang (36 subscribers as of 2 Jul 2021)

## FAQs
### Q: What platforms can run Pixilang programs?
A: Pixilang runs on Android, Windows, Linux, macOS and bare-metal embedded devices. The same source code compiles to byte-code that is interpreted by the Pixilang virtual machine on each target.

### Q: Which file extension should I use for Pixilang source files?
A: The manual lists .pixi as the primary extension; .txt and .pixicode are also accepted. Compiled byte-code files have no public extension.

### Q: Is Pixilang open source?
A: Yes. Since 24 Dec 2012 the language is released under the MIT License; earlier releases were under BSD and GPL licenses.

### Q: How does Pixilang compare to Processing or P5.js?
A: Pixilang is lighter, compiles to byte-code, and targets both desktop and mobile from the same codebase, whereas Processing and P5.js are Java- or JavaScript-based and require separate adaptations for mobile.

## Why It Matters
Pixilang fills a narrow but important niche: it lets artists and experimenters write tiny, portable programs that produce real-time graphics and audio without rewriting code for every platform. Created in 2006 when mobile creative-coding tools were scarce, it anticipated the need for a single language that could run identically on desktop, Android and headless embedded boards. By compiling to byte-code and distributing through Google Play, Pixilang enables live-coding performances on phones, interactive installations on Raspberry-Pi-class hardware, and rapid prototyping of audiovisual ideas with minimal overhead. Its longevity—active development for over a decade and a stable 3.0 release—demonstrates that a focused, community-driven language can outlive larger multimedia frameworks when it solves one problem exceptionally well.

## Notable For
- One of the first creative-coding languages to ship on Google Play as a standalone interpreter
- License migration path (GPL → BSD → MIT) that tracked community needs while keeping the runtime embeddable in commercial projects
- Byte-code format lets source files stay as plain text while deployed programs remain closed if desired
- Telegram channel provides direct, low-noise updates from the maintainer, unusual for niche languages
- Sustained backward compatibility: scripts written for v1.0 (2007) still run unmodified on current interpreters

## Body
### Origins and Design Goals
Pixilang appeared in 2006 as a minimalist scripting layer for real-time graphics and sound. Its virtual machine is register-based and emits compact byte-code, letting programs under 64 KB deliver full-screen demos or generative music on ARM7, x86 and MIPS CPUs.

### Version History
- 1.0 – 4 Apr 2007: GPL-licensed initial release
- 1.1 – 5 Sep 2007: added MIDI support
- 1.2 – 7 Nov 2007: introduced pixel shaders
- 1.3 – 31 Dec 2007: stable audio callback API
- 1.4 – 3 Feb 2008: switched to BSD license
- 1.5 – 23 Mar 2008: added network sockets
- 1.6 – 14 Aug 2008: 2.0 beta branch forked
- 3.0 – 1 Sep 2011: merged branches, Android target, MIT license

### Language Features
Pixilang syntax is C-like with dynamic typing. Built-in containers include arrays, strings and maps. A single `screen` object abstracts frame-buffers; `snd` objects handle PCM streams. Functions such as `circ()`, `line()`, `blit()` and `fft()` execute in real time. Programs can be hot-reloaded, enabling live-coding workflows.

### Distribution and Ecosystem
The interpreter is a single native binary (< 400 KB). Android builds expose sensors, camera and multi-touch as global variables. Desktop builds add OpenGL and MIDI ports. No package manager exists; users share `.pixi` source files or pre-compiled `.pc` byte-code via forums, GitHub and the Telegram channel.

## References

1. [Source](http://www.warmplace.ru/soft/pixilang/)
2. [Source](https://www.warmplace.ru/soft/pixilang/changelog.txt)
3. [Source](https://www.warmplace.ru/soft/pixilang/old.php)
4. [Source](http://fileformats.archiveteam.org/wiki/Pixilang)
5. [Source](https://www.warmplace.ru/soft/pixilang/manual.php)
6. [Source](https://www.warmplace.ru/soft/pixilang/)