社区
教程
Wiki
注册
登录
创作新主题
社区所有版块导航
Python
python开源
Django
Python
DjangoApp
pycharm
DATA
docker
Elasticsearch
分享
问与答
闲聊
招聘
翻译
创业
分享发现
分享创造
求职
区块链
支付之战
aigc
aigc
chatgpt
WEB开发
linux
MongoDB
Redis
DATABASE
NGINX
其他Web框架
web工具
zookeeper
tornado
NoSql
Bootstrap
js
peewee
Git
bottle
IE
MQ
Jquery
机器学习
机器学习算法
Python88.com
反馈
公告
社区推广
产品
短视频
印度
印度
一周十大热门主题
#机器学习# 【康奈尔团队首创微波神经网络,完全集成于硅微芯片且-20250820174022
突发!知名剪贴板工具 Ditto 遭开发者"删库",GitHub 代码全清空|但同时...今天又发布...
URDFly:专为机械臂设计的 Python 工具包,聚焦 UR-20250819182205
机器学习学术速递[8.19]
科技爱好者周刊#362:GitHub 工程师谈系统设计
【#小红书AIGC团队发布可控人脸生成方法#】据小红书消息,小红-20250819081139
【AI加油站】第四十八部:Github持续霸榜!「Leetcode刷题笔记」解题思路/代码/模板开放...
OCS光交换机-深度学习
全球95%企业AI惨败?MIT报告引硅谷恐慌!90%员工偷用ChatGPT续命
【#OpenAI推出印度专属低价订阅计划# ChatGPT Go-20250819120449
关注
Py学习
»
Git
哈哈哈哈,16 岁高中生开发「粤语编程」项目,在 GitHub 火了!
GitCube
• 4 年前 • 548 次点击
公众号关注 “GitCube”
设为 “
星标
”,每天带你逛 GitHub!
来自机器之心
粤语编程语言 ——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:
Python社区是高质量的Python/Django开发社区
本文地址:
http://www.python88.com/topic/116322
548 次点击
登录后回复