“阿里味” PUA 编程语言火上 GitHub 热榜
梦晨 晓查 发自 凹非寺
量子位 报道 | 公众号 QbitAI
从程序员code到产品经理PPT的生态闭环,终于打通了。
如果编程语言里都是“赋能”、“反哺”、“抓手”,会是啥样?
我们不妨先来写个程序看看:

怎么样,你看懂了吗?
这段程序可不是乱写的,定义函数、条件判断一气呵成,训练有素,还真的能跑通:

相信有高手已经看懂了,以上是一段求斐波那契数列的递归程序,只不过加入世界上最好的编程语言——PPT的一些语法而已。
如果非要把上面的程序翻译成“人话”,那就是:

是不是一下子豁然开朗?
好好的程序,为什么要用“非人话”来写呢?
其实,这是一位国内程序员开发的互联网黑话编程语言,英文名叫PUA Language。
这个语言成功将两大部门员工对齐:非技术部门能快速掌握编程要领,程序员也能获得每天PPT汇报的快感。
看到这么有趣的编程方式,程序员表示自己的工作都高大上起来了,毕竟自己每天都要赋能几十个对象。

那么,PUA Lang该怎么写程序?
编程“打法”
一般编程语言需要的基本功能,PUA Lang一应俱全。
整个语法的表达堪称“信达雅”:if对应细分,while对应闭环,let对应赋能,fn对应抓手,数组是组合拳……
Monkey  | pua-lang  | Explanation  | 
if  | 细分  | "specialization"  | 
else  | 路径  | "pathway"  | 
while  | 闭环  | "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  | 
=  | 对齐  | "align"  | 
+  | 联动  | "linkage"  | 
-  | 差异  | "difference"  | 
/  | 倾斜  | "tilt"  | 
puts  | 输出  | "output"  | 
quit  | 淘汰  | "eliminate"  | 
35岁老员工看到这里,恐怕已经瑟瑟发抖了:“三七五”是true,“三二五”是false,那种被KPI支配的恐惧,一股互联网大厂内卷的气息顿时扑鼻而来。
难怪英文名叫PUA Lang啊。
看完整个语法后,我觉得:
这位程序员已经成功以GitHub为中台,以开源为打法,迅速打出一套组合拳,成功挖掘了公关作为新增用户,形成了一套全新的方法论,为编程产业赋能。
落地一下
大厂的业务布局,讲究一个风口,什么是风口呢?

用图来解释就是:

有了投资才刚刚开始,毕竟不能落地的项目是得不到资源倾斜,,于是就有:

这里面概念有点多,我们慢慢来解释,首先是高空和落地:

打磨要是说白了也容易理解:

好不容易到了快下班的点,领导却发来最新指示:要进行产品升级。
升级这个抓手系统里还没有啊,赶紧拜托对面工位的P7帮忙实现一个。
到了晚上9点,终于写出来了:

看不懂,先运行一下试试吧:

原来这个升级,就是价格翻倍的意思,早说啊。
这是什么鬼
PUA Language这个项目,其实是基于另一个Rust实现的Monkey语言项目rs-monkey-lang修改而来。
Monkey语言是《Writing An Interpreter In Go》一书中介绍的,专门用来学习解释器工作原理的语言。

各位在恶搞互联网黑话的同时,不妨看一下它的源码,还可以顺便学习一下解释器。
PUA Language目前还在开发初期阶段,只有一些基本功能,但已经获得了1.7k标星,网友也纷纷热情地在Issue里开起了脑洞。

作为Bug编写员,异常处理一定要有:

还有一位不愿意透露姓名的网友提出了更多高级功能:

除了功能以外,整体风格也要一致才行:

开源协议也要改一下:

最后,考考大家的黑话水平,请看这段代码,能猜出聚焦这个抓手解决了什么痛点吗?

项目地址:
https://github.com/flaneur2020/pua-lang
在线解释器:
https://flaneur2020.github.io/pua-lang/
