奇怪的语言又增加了,用互联网黑话写代码!
梦晨 晓查 发自 凹非寺
量子位 报道 | 公众号 QbitAI
从程序员code到产品经理PPT的生态闭环,终于打通了。
如果编程语言里都是“赋能”、“反哺”、“抓手”,会是啥样?
我们不妨先来写个程序看看:
赋能 堆叠_fib = 抓手(x) {
细分 (x 对齐 0) {
0;
} 路径 {
细分 (x 对齐 1) {
1;
} 路径 {
堆叠_fib(x - 1) 联动 堆叠_fib(x - 2);
}
}
};
堆叠_fib(10);
怎么样,你看懂了吗?
这段程序可不是乱写的,定义函数、条件判断一气呵成,训练有素,还真的能跑通:
相信有高手已经看懂了,以上是一段求斐波那契数列的递归程序,只不过加入世界上最好的编程语言——PPT的一些语法而已。
如果非要把上面的程序翻译成“人话”,那就是:
let fibonacci = fn(x) {
if (x == 0) {
0
} else {
if (x == 1) {
return 1;
} else {
fibonacci(x - 1) + fibonacci(x - 2);
}
}
};
是不是一下子豁然开朗?
好好的程序,为什么要用“非人话”来写呢?
其实,这是一位国内程序员开发的互联网黑话编程语言,英文名叫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/