技术圈首页
程序员
解决方案
聚合短信
APP下载
登录
注册
首页
文章详情
哈哈哈哈,16 岁高中生开发「粤语编程」项目,在 GitHub 火了!
码农有道公众号
|
267
2021-06-24 00:50
0
0
0
来自机器之心
粤语编程语言 ——The
C
antonese Programming Language。看来大家都是 C 语言啊。
最近十分搞笑的饮茶梗,刷新了大家对粤语的认知。
其实粤语一直都是一个隐含着幽默感的方言,想想「旺角卡门」中的乌蝇哥,是不是脑海中已经回荡起了学友哥的四字语音?而且毋庸置疑,粤语还是需要保护的文化遗产。
那么,今天我们就给大家介绍一个有趣的粤语编程语言 GitHub 项目,其开发者 Stepfen Shawn 似乎(自称)是来自广州的十六岁高中生。目前,该项目的 star 量已经达到了 600+。虽然工作中不会用粤语写代码,但是空闲时玩一下粤语编程,难道不是件乐事吗?
项目地址:https://github.com/StepfenShawn/Cantonese
粤语编程启蒙
下面列举了粤语版「Hello World」以及一些基本的功能(循环、函数等),还涵盖了面向对象编程和堆栈使用的示例。当然,还有各种有趣的编程语法细节,比如用「搞掂」来结束函数,用「使下」来调用库。
项目作者在《5 分钟学会粤语编程》教程中解释说,这里的「畀 (bei)」在粤语中是「给」的意思,「睇」是「看」的意思,所以整条语句的意思是「让我看看」的意思,而后面的「点样先?」则表示委婉的语气,意为「怎么样?」。对于这种有意思的互动,作者解释说,「需要用委婉语气来给计算机留下第一个好的印象,否则计算机可能会离家出走呢,对吧?」
而赋值语句「讲嘢 |A| 系 1」的「讲嘢」是「说话」的意思,「係」就是「是」的意思。
作者表示,编程时写「系」也是能运行的。
同样的,「唔係」就是「不是」的意思,「定係」就是「还是」的意思。
「落操场玩跑步...... 玩到 | 结束 | 为止」这个语句相当于一个 loop,「结束」就是 loop 的条件。
而类似 break 的用法有三种:「收工」、「辛苦晒啦」、「同我躝」。前两个很好理解,而第三个中的「躝」是「滚」的意思,所以使用哪个完全取决于你的心情。
「嘅」的意思是「的」,有没有感觉瞬间能读懂了。
「要做咩」直观地告诉计算机该函数接下来要做什么,「搞掂」是「搞定」的意思,起到 end 的作用。
「掟个...... 来睇下」的作用是抛出一个异常,其中「掟」有仍或丢的意思。而「谂」的意思是「想」,让计算机作判断。
「执嘢...... 揾到...... 执手尾」对应着 try、except、finally。「执嘢」是收拾房间的意思,「揾到」是指收拾中找到破烂了,至于「执手尾」,就是选择丢不丢这个破烂了。
讲真,这个「使下」,比 import 更形象。
没想到吧,居然还能进行面向对象编程。「佢」的意思是「它」,代指一个对象;「佢嘅」意思是「它的」,能够用来构造属性;「佢识得」意思是「它会」,用来构造类的方法;「老豆」就是「爹」的意思,用于描述继承关系。最后用「明白未啊」做结束语问计算机你明白了吗,会让计算机倍感亲切,接受介绍给它的对象。
这里的「Deo 哥」很明显是个栈,「顶你」就是放入栈,「丢你」就是从栈取出。
粤语编程进阶
下面列举了一些粤语编程的进阶玩法,比如二分查找、线性查找、冒泡排序、插入排序、KNN 等算法的实现。能看到这里,说明你很感兴趣啊,那就继续学吧。
对你没有看错,由于此语言由 Python 开发,还可以非常方便地编写机器学习算法。
此处为作者的灵魂画作(号称是海龟)。
上图是使用此语言开发的迷宫小游戏界面。
代码链接:https://github.com/StepfenShawn/Cantonese/blob/main/examples/games/game.cantonese
下面是作者实现的网页和 App 示例:
加入语言的方式
粤语编程语言运行在 Python 虚拟机上,支持 Python 3,使用方式如下:
还可以转化为 Python 运行:
以及生成 HTML:
0
赞
0
收藏
×
添加附言
附加内容, 使用此功能的话, 会给所有参加过讨论的人发送提醒.
回复数量:
0
暂无评论~~
请注意单词拼写,以及中英文排版,
参考此页
支持 Markdown 格式,
**粗体**
、~~删除线~~、
`单行代码`
, 更多语法请见这里
Markdown 语法
支持表情,见
Emoji cheat sheet
@name 会链接到用户页面,并会通知他
上传图片, 支持拖拽和剪切板黏贴上传, 格式限制 - jp(e)g, png, gif
Ctrl+Enter
下载APP
码农有道公众号
623
文章
0
获赞
关注TA
NEW
相关文章推荐
发现一个宝藏级GitHub号!
16 岁高中生开发「粤语编程」项目,在 GitHub 火了!
牛逼,微软开源浏览器自动化工具
哈哈哈哈,16 岁高中生开发「粤语编程」项目,在 GitHub 火了!
当你从GitHub和StackOverflow抄了代码
哈哈哈哈,16 岁高中生开发「粤语编程」项目,在 GitHub 火了!
收藏 | 学习Python的11个顶级Github存储库
Github最热门的200个Python中文项目