M. Kraut &
M. Lisak.
Podziemna eksploracja ezoterycznych języków programowania. Odcinamy się od korporacyjnych frameworków webowych, by badać maszyny napędzane czystą abstrakcją, minimalistyczną składnią i strukturalnym szaleństwem kodu.
"Odrzucamy traktowanie kodu wyłącznie jako korporacyjnego narzędzia efektywności. Programowanie może być ekspresyjnym płótnem czystego tarcia logicznego."
BRAINFUCK
Stworzony w 1993 roku przez Urbana Müllera jako eksperyment mający na celu maksymalne odchudzenie kompilatora (który finalnie zajął poniżej 200 bajtów). Język działa całkowicie na tablicy 30 000 komórek pamięci zainicjowanych zerami.
Zamiast zmiennych, programista ma do dyspozycji jedynie 8 jednoznakowych komend. Każda instrukcja bezpośrednio modyfikuje wartość pod wskaźnikiem lub przesuwa go po taśmie pamięci.
Pętle kontrolowane są wyłącznie przez warunek niezerowy. Brak natywnych optymalizacji wysokopoziomowych zmusza wskaźnik do ciągłego krążenia po komórkach fizycznej tablicy.
[Tab][LF][Spacja][Tab]
[Spacja][Spacja][Tab][Tab][LF]
WHITESPACE
Wypuszczony w Prima Aprilis 2003 roku przez Edwina Brady'ego i Chrisa Morrisa, Whitespace odwraca paradygmat czytelności. Podczas gdy tradycyjne kompilatory ignorują znaki niedrukowalne, traktując je jako białe plamy, interpreter Whitespace robi coś dokładnie odwrotnego.
Wszystkie standardowe litery i cyfry są traktowane jako komentarze i pomijane. Język opiera się na architekturze stosu i sterty, wykonując operacje ukryte wewnątrz niewidzialnych spacji, tabulacji i znaków nowej linii.
CHEF COMPILER
Zaprojektowany przez Davida Morgan-Mara. Sprawia, że pliki z kodem źródłowym są nie do odróżnienia od prawdziwych przepisów kulinarnych. To kompletny język programowania oparty na stosach udających "miski do mieszania".
Wagi składników (np. 72 g cukru) natychmiast deklarują i przypisują wartości do rejestrów pamięci.
Operacje na danych wykonywane są sekwencyjnie wewnątrz zadeklarowanych misek kuchennych.
101 g białego cukru
Upłynnij zawartość pierwszej miski.
Podczas ewaluacji instrukcji Upłynnij (Liquefy), wewnętrzny parser przełącza flagę reprezentacji wyjściowej miski na jawną tablicę znaków ASCII.
CHICKEN
Stworzony przez szwedzkiego programistę Torbjorna Lagerwalla, który zainspirował się absurdalną prezentacją naukową złożoną wyłącznie ze słowa "chicken". Język ten posiada tylko **jedno poprawne słowo kluczowe**.
Kod programu składa się tylko i wyłącznie ze słów "chicken", spacji oraz znaków nowej linii. Liczba powtórzeń słowa w danej linii określa kod operacji (opcode) maszyny wirtualnej, np. ładowanie na stos, dodawanie czy skok warunkowy.
chicken chicken
chicken chicken chicken chicken
Linia zawierająca 5 słów 'chicken' jest mapowana przez interpreter na instrukcję porównania wartości na szczycie stosu (Opcode 5: COMPARE).
PIET
Nazwany na cześć pioniera abstrakcjonizmu, Pieta Mondriana. Język ten odrzuca tekstową strukturę kodu źródłowego. Programy w języku Piet są **obrazami zapisanymi w formacie GIF lub PNG**.
Kompilator przemieszcza wskaźnik wykonania po blokach kolorów. Instrukcje logiczne (takie jak dodawanie, czytanie wejścia) są określane przez **zmianę odcienia (hue) oraz jasności (darkness)** w momencie przechodzenia z jednego koloru do drugiego.
Przejście z jasnego czerwonego do ciemnego niebieskiego definiuje operację wrzucenia rozmiaru bloku (w pikselach) bezpośrednio na stos pamięci.