奇怪的語(yǔ)言又增加了,用互聯(lián)網(wǎng)黑話寫(xiě)代碼!
夢(mèng)晨 曉查 發(fā)自 凹非寺
量子位 報(bào)道 | 公眾號(hào) QbitAI
從程序員code到產(chǎn)品經(jīng)理PPT的生態(tài)閉環(huán),終于打通了。
如果編程語(yǔ)言里都是“賦能”、“反哺”、“抓手”,會(huì)是啥樣?
我們不妨先來(lái)寫(xiě)個(gè)程序看看:
賦能 堆疊_fib = 抓手(x) {
細(xì)分 (x 對(duì)齊 0) {
0;
} 路徑 {
細(xì)分 (x 對(duì)齊 1) {
1;
} 路徑 {
堆疊_fib(x - 1) 聯(lián)動(dòng) 堆疊_fib(x - 2);
}
}
};
堆疊_fib(10);
怎么樣,你看懂了嗎?
這段程序可不是亂寫(xiě)的,定義函數(shù)、條件判斷一氣呵成,訓(xùn)練有素,還真的能跑通:

相信有高手已經(jīng)看懂了,以上是一段求斐波那契數(shù)列的遞歸程序,只不過(guò)加入世界上最好的編程語(yǔ)言——PPT的一些語(yǔ)法而已。
如果非要把上面的程序翻譯成“人話”,那就是:
let fibonacci = fn(x) {
if (x == 0) {
0
} else {
if (x == 1) {
return 1;
} else {
fibonacci(x - 1) + fibonacci(x - 2);
}
}
};
是不是一下子豁然開(kāi)朗?
好好的程序,為什么要用“非人話”來(lái)寫(xiě)呢?
其實(shí),這是一位國(guó)內(nèi)程序員開(kāi)發(fā)的互聯(lián)網(wǎng)黑話編程語(yǔ)言,英文名叫PUA Language。
這個(gè)語(yǔ)言成功將兩大部門(mén)員工對(duì)齊:非技術(shù)部門(mén)能快速掌握編程要領(lǐng),程序員也能獲得每天PPT匯報(bào)的快感。
看到這么有趣的編程方式,程序員表示自己的工作都高大上起來(lái)了,畢竟自己每天都要賦能幾十個(gè)對(duì)象。

那么,PUA Lang該怎么寫(xiě)程序?
編程“打法”
一般編程語(yǔ)言需要的基本功能,PUA Lang一應(yīng)俱全。
整個(gè)語(yǔ)法的表達(dá)堪稱(chēng)“信達(dá)雅”:if對(duì)應(yīng)細(xì)分,while對(duì)應(yīng)閉環(huán),let對(duì)應(yīng)賦能,fn對(duì)應(yīng)抓手,數(shù)組是組合拳……
Monkey |
pua-lang |
Explanation |
if |
細(xì)分 |
"specialization" |
else |
路徑 |
"pathway" |
while |
閉環(huán) |
"closed loop" |
true |
三七五 |
"3.75", a passing performance evalulation result |
false |
三二五 |
"3.25", a failing performance evalulation result |
let |
賦能 |
"enable", in a fancy way |
fn |
抓手 |
"handle", as in getting a handle on things |
return |
反哺 |
"repay", used in Alibaba as a general term for feedback in systems |
Array |
組合拳 |
"combo move"; not yet a word in the language |
Hash |
載體 |
"carrier"; not yet a word in the language |
= |
對(duì)齊 |
"align" |
+ |
聯(lián)動(dòng) |
"linkage" |
- |
差異 |
"difference" |
/ |
傾斜 |
"tilt" |
puts |
輸出 |
"output" |
quit |
淘汰 |
"eliminate" |
35歲老員工看到這里,恐怕已經(jīng)瑟瑟發(fā)抖了:“三七五”是true,“三二五”是false,那種被KPI支配的恐懼,一股互聯(lián)網(wǎng)大廠內(nèi)卷的氣息頓時(shí)撲鼻而來(lái)。
難怪英文名叫PUA Lang啊。
看完整個(gè)語(yǔ)法后,我覺(jué)得:
這位程序員已經(jīng)成功以GitHub為中臺(tái),以開(kāi)源為打法,迅速打出一套組合拳,成功挖掘了公關(guān)作為新增用戶(hù),形成了一套全新的方法論,為編程產(chǎn)業(yè)賦能。
落地一下
大廠的業(yè)務(wù)布局,講究一個(gè)風(fēng)口,什么是風(fēng)口呢?
細(xì)分(騙(投資人) 對(duì)齊 三七五 {
輸出("風(fēng)口");
}
用圖來(lái)解釋就是:

有了投資才剛剛開(kāi)始,畢竟不能落地的項(xiàng)目是得不到資源傾斜,,于是就有:

這里面概念有點(diǎn)多,我們慢慢來(lái)解釋?zhuān)紫仁?strong style="color: rgb(0, 153, 127);">高空和落地:

打磨要是說(shuō)白了也容易理解:

好不容易到了快下班的點(diǎn),領(lǐng)導(dǎo)卻發(fā)來(lái)最新指示:要進(jìn)行產(chǎn)品升級(jí)。
升級(jí)這個(gè)抓手系統(tǒng)里還沒(méi)有啊,趕緊拜托對(duì)面工位的P7幫忙實(shí)現(xiàn)一個(gè)。
到了晚上9點(diǎn),終于寫(xiě)出來(lái)了:

看不懂,先運(yùn)行一下試試吧:

原來(lái)這個(gè)升級(jí),就是價(jià)格翻倍的意思,早說(shuō)啊。

這是什么鬼
PUA Language這個(gè)項(xiàng)目,其實(shí)是基于另一個(gè)Rust實(shí)現(xiàn)的Monkey語(yǔ)言項(xiàng)目rs-monkey-lang修改而來(lái)。
Monkey語(yǔ)言是《Writing An Interpreter In Go》一書(shū)中介紹的,專(zhuān)門(mén)用來(lái)學(xué)習(xí)解釋器工作原理的語(yǔ)言。

各位在惡搞互聯(lián)網(wǎng)黑話的同時(shí),不妨看一下它的源碼,還可以順便學(xué)習(xí)一下解釋器。
PUA Language目前還在開(kāi)發(fā)初期階段,只有一些基本功能,但已經(jīng)獲得了1.7k標(biāo)星,網(wǎng)友也紛紛熱情地在Issue里開(kāi)起了腦洞。

作為Bug編寫(xiě)員,異常處理一定要有:

還有一位不愿意透露姓名的網(wǎng)友提出了更多高級(jí)功能:

除了功能以外,整體風(fēng)格也要一致才行:

開(kāi)源協(xié)議也要改一下:

最后,考考大家的黑話水平,請(qǐng)看這段代碼,能猜出聚焦這個(gè)抓手解決了什么痛點(diǎn)嗎?

項(xiàng)目地址:
https://github.com/flaneur2020/pua-lang
在線解釋器:
https://flaneur2020.github.io/pua-lang/
-End-
最近有一些小伙伴,讓我?guī)兔φ乙恍?nbsp;面試題 資料,于是我翻遍了收藏的 5T 資料后,匯總整理出來(lái),可以說(shuō)是程序員面試必備!所有資料都整理到網(wǎng)盤(pán)了,歡迎下載!

面試題】即可獲取
