史上最抽象的編程語言,照片、樂譜、空白也能編程?

追踪科技
1 位粉絲
2026年3月20日
AI 生成·可能包含錯誤
編程第一步 輸出hello world
就這麼一句話
不管啥語言都應該很簡單 對吧
那假如你不能用鍵盤寫代碼
而是要用一段視頻 一曲音樂
甚至這片空白來輸出hello world呢
即使沒學過編程
你應該也能感覺到它們是真的很怪
究竟是多離譜的精神狀態
纔會讓程序員拿相機
鋼琴和空白符號來寫代碼
大家好 這裏是亮子味
1972年 普林斯頓的兩名大一新生
剛剛考完期末
經歷過編程的折磨
他們覺得大家都有必要感受一下這種痛苦
僅僅一個晚上
橫跨計算機和冷笑話領域的奇蹟
Intel Core就誕生了
在當時用其他語言輸出hello world非常簡單
但在Intel Core裏輸出這句話得寫16行
而且讀起來非常難懂
輸出的數字要經過許多變換才能變成文字
整個代碼裏最好懂的地方
居然是程序的終止命令
give up 放棄吧
這簡直是我讀代碼時的心聲
他們在指導手冊中特意強調
衆所周知且屢試不爽的是
工作讓人難以理解的人會受到高度尊重
這就是Intel Core的設計理念
讓所有人都看不懂
只要你的代碼夠怪
但還能跑
就可以讓你的同行驚歎
令你的領導困惑
讓每一位新手直接轉行
爲了保持語法簡潔
Intel Core拋棄了加減乘除
而是自創了五種運算服
你要是想算1加1
得先用它們手動拼出邏輯門
它還完美繼承了算法大神迪迭斯特拉的理念
丟掉了最沒用的勾兔語句
要實現這一點也非常簡單
既然不能繼續夠了
那我們就在目的地寫come from某某行
程序不是跳到某行
而是被那行召喚過來
經過這些改進
它們成功解決了一個月後會看不懂代碼的問題
因爲要麼你直接寫不出來
要麼第二天就已經看不懂了
Intel Core不僅能讓代碼更優雅
還能讓程序員更禮貌
你必須在至少五分之一的語句中說please
程序才能正常運行
不然編輯器會認爲你沒禮貌
拒絕執行
但如果你please說的太多
編輯器又會覺得你在拍它馬屁
然後直接忽視掉整個程序
如此折騰人的Intel Core
成爲了世界上第一種深奧編程語言
隨後出現的幾種語言也都是這個路子
直到1993年
一個語言指出了新的方向
靠複雜來讓人看不懂
沒什麼挑戰性了
能不能寫的又簡單又讓人看不懂呢
它就是BrainFuck
這是用BrainFuck寫的Hello World
你只需要看着這堆代碼
就能理解爲啥起這個名字了
這種語言只有八種符號
分別代表右移左移加一減一
輸出輸入
還有兩個括號用來循環
如果想輸入42
你沒有猜錯
連續敲42個加號就可以了
恭喜你現在已經學會了BrainFuck
可以在簡歷裏多寫一條技能了
剛發明時
BrainFuck的編輯器只有240個字節
堪稱編程界的北歐極簡風
有人用它成功復刻了盤吃蛇
甚至有人用BrainFuck
寫出了他自己的編譯器
但如此簡潔的語言
居然還是圖靈完備的
你能想到的算法
理論上它都能寫出來
程序員們就此打開了新世界的大門
寫能跑的算法不算本事
讓你勞頭這也能跑
這種代碼纔是藝術品
比如視頻開頭看到的視頻
它是一種用影像的顏色
光圈和快門速度來編程的語言
叫做light pattern
視頻中的每張照片都代表了三個數字
它可以是000
也可以是212之類的
在拍攝時改變顏色
光圈和快門速度
就能組合出不同的命令
比如讓照片的顏色從紅變綠
而光圈和快門保持不變
這時的指令就是211
表示if函數
照片的顏色不變
而光圈變小
快門變快
這時的指令就是100
表示我要輸入變量了
如果你需要遞歸
那也很簡單
只要在相機前面放一面鏡子
它就會一直調用自己
跑到死機爲止
我們常說有八大藝術
那相機都拿來編程了
其他幾種可以嗎
有的兄弟 有的
Velato就是在五線譜上寫代碼
看起來就非常藝術
它的名字是意大利語
被遮掩的
代表了真正的代碼
看上去它只是一份普通的樂譜
但其實兩個音符之間的音高變化
就是不同的輸入
如果我先敲一個DAW
再敲一個降RHY
它們在鋼琴和五線譜上都是相鄰的
只差一個小二度
所以代表輸入數字0
而從DAW到MI
在五線譜上差了三個位置
所以就是數字3
這樣不斷改變音高
就寫出了一篇好聽的代碼
Lightpattern和Velato雖然不好寫也不好讀
不過至少它們的結構和語法很簡潔
只要給一點點時間
那人還是能寫出來的
但還有一種語言
理論上是能寫
但地球人肯定寫不出來
寫出來也沒人能看得懂
這種語言發明整整兩年後
纔有人用便利算法
硬把Hello World給倒推出來
它就是著名的Marburg
取名字淡定神曲中的第八層地獄
有多地獄呢
你每輸入一個字符
寫在它前面的兩個字符就會被修改
接着每條指令都會被隨機替換
最後再加密
我毫不懷疑要用它寫Hello World的話
貓踩鍵盤都比我快
有觀衆朋友可能會反對
Marburg它既然能算出來
那人肯定也能寫
就像挖比特幣
它本質上也是算數學題
只要足夠努力
那肯定都能算出來
有興趣的觀衆朋友
確實可以試試
如果成功了
我只能說
這孩子或許能拿來當顯卡
那麼接下來
我要給顯卡同學一個挑戰
如果用世界上最安全
最隱蔽
不可見的語言來編程
閣下又將如何應對
它就是Writespace
馬如其名全是空白
徹底解決了你可能看懂代碼的問題
在這種語言中
能輸入的只有空格
製表符和換行符
但你依然可以用它們輸入數字
完成計算
甚至對戰
它的優勢在於
極強的保密性
假如你是一名特工
需要將一個祕密程序保存起來
你可以將它打印出來
然後直接刪除文件
日後再照着輸入就行了
誰也不會想到
這些白紙上會隱藏着如此重要的代碼
如果你覺得
這都不夠抽象
有沒有更給力點的
有的有的
首先是Pict
沒錯
這張圖就是代碼
就連它的名字
都來源於著名的抽象派畫家
皮埃·蒙德里恩
Pict應該是最抽象的語言之一了
它的代碼由20種顏色的色塊組成
從最左上角開始執行
亮度和色調的變化就是你的輸入
如果遇到了白色就是跳過
如果下一個像素是黑色
則代表此路不通
需要繼續尋找其他的顏色
不論是在藝術界還是編程界
Piatt都是一座神奇的高山
那如何超越這座大山呢
用程序員思維就很好解決
用一種Ethelon來寫另一種Ethelon
這張圖是用Piatt寫出的Brainf**k編譯器
它可以分成四塊
按順時針一次試
讀取 獲取 命令執行
切換命令索引
比起寫代碼
我覺得這更像是在設計芯片
Piatt還有另一種意想不到的優點
目前的AI還沒有能力生成Piatt代碼
讓Chad JPD來寫Hello World
結果是這樣的
如果將來AI叛亂了
提前練習了Piatt的你
也許就是人類最後的希望
Piatt是繪畫
Relato是音樂
Light Pattern是攝影
假如我也想創造一門Ethelon
但發筆 樂器和相機那是樣樣疏鬆
怎麼辦
別忘了人類藝術形式中的第一名
文學
寫故事是寫
寫代碼也是寫
都是敲鍵盤
爲什麼不乾脆合在一起呢
在此向你隆重介紹奧林匹斯編程
要調用不同的功能
你需要以正確的形式呼喚古希臘神明
先說名字
再誇一誇他
最後提出請求
比如像掌管記憶的摩尼摩遜捏祈禱
就是複製或聲明變量
掌管夢境的赫爾默斯能夠生成隨機樹
主宰自然的阿爾特彌斯和德木特爾
能夠創建循環
宙斯和雅典娜可以聲明函數
而且雅典娜脾氣比宙斯好
你只用誇一句就可以了
爲了讓大家感受奧林匹斯編程的神奇之處
我把原作者的代碼翻譯成了中文
可以說是非常有文學氣息了
那說到文學氣息
就不得不提文學史上避不開的大神
莎士比亞
你想的沒錯
莎士比亞風味編程也是有的
這種代碼看出去像是
羅密歐與茱麗葉的劇本
最開始的角色列表是程序中的變量
他們都是一個站
這裏的第一幕
哈姆雷特對羅密歐講了一大堆臺詞
每出現一個肯定和中性的名詞
羅密歐的值就會加1
而否定名詞會讓它減1
每個形容詞會讓名詞的值乘2
Speak your mind 暢所欲言
聽到這句話後
羅密歐就會把他的值輸出
Remember me 或者Remember yourself
這句臺詞會讓另一個角色
把當天的值押進站裏
就這樣讓角色輪流上臺誇誇或者開噴
計算就完成了
它的缺點也很顯而易見
你得讓哈姆雷特和羅密歐
不停的暢所欲言
還得背很多不常用的單詞
要是不想這麼累
你可以選擇更日常的語言
CHEF 食譜編程
把食材從冰箱裏端出來
然後放進攪拌碗裏
日日的一聲大聲呼呼
裝盤你就輸出了Hello World
2013年
有位程序員就按CHEF代碼
烤了一份Hello World的巧克力蛋糕
據說味道還不錯
各位觀衆朋友也可以照着做一做
但我對做飯不感興趣
覺得寫食譜還是太麻煩
於是我又找到了一些懶人專用版ESOLAR
CHICKEN
它從代碼到說明文檔
只有這一個單詞
寫起來省心省力
只需要不停Ctrl-C和Ctrl-V就行
假如電腦配置很差
別說Ctrl-C和Ctrl-V
就連鍵盤都被同時順走了
我還可以選擇用鼠標新建文件夾
這就是folders語言
萬一鼠標也不給我留呢
這種時候就要用BrainFxxk的升級版
BodyFxxk
用練習兩天半的舞步輸出代碼
BodyFxxk證明了
程序員在極端條件下
會創造出多麼可怕的事物
程序員們甚至會故意創造
最可怕的編程語言
Spooky了
它的代碼充滿了幽靈 驚嚇和惡魔
在看代碼前
準備好了嗎
這就是Spooky了
除非你平時用PHP或者Java 7
那真的很難有什麼語言比它更嚇人了
講到這裏你也許會問
那麼這些A次浪有什麼用呢
答案是沒啥用
應該沒人會在生產環境裏部署A次浪
最多就是大學課堂拿來當教學案例
比如BrainFxxk
它本質上是一條無線長的紙帶
你可以移動它並修改上面的數據
這個其實就是圖靈機
後來的許多複雜編程語言也是這個結構
不管多麼離譜的東西
只要能搭出這個結構都能用來編程
但如果你把這些語言互相對比
還會發現一些共同點
A次浪
爲什麼你們要麼極端結構化
要麼非常混亂
爲什麼你們總能保持圖靈完備
爲什麼你們幾乎都拋棄了溝通直連
答案只有一個
A次浪
你們本質上都是在致敬世界上
第一個結構化程序語言
P''
早在1964年
Claude Bohm就創造了這種只有四個符號的語言
想象一根無線長的紙帶
上面畫了很多個格子
R代表向右移動
λ代表把右邊的ai換成ai加1
然後再向左移動一格
而左括號和右括號
代表讓中間的代碼循環運行
直到所指的格子不是0爲止
這就是P''的全部語法
雖然簡單
但它不僅圖靈完備
還在兩年後證明了
GOTO是編程中多餘的存在
相比之下
迪迭斯特拉那篇著名的
GOTO Statement Considerate Harmful
可是到了1968年才發表
P''的誕生
象徵着順序選擇循環的結構化編程
開始一統江湖
而多年以後誕生的BrainFuck
證實P''的變體
只是符號多了些
本質上它們一模一樣
時至今日
程序員們已經發明瞭
至少6000多種ASL
它們或許沒用
但卻能讓我們看到
程序員有趣的靈魂
如果讓你來寫一種ASL
又會選擇什麼樣的主題呢
本期視頻到這裏就結束了
如果你覺得有所收穫
歡迎留下評論 點贊 投幣 轉發
一鍵三連
我們下期節目再見
