社区
教程
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
反馈
公告
社区推广
产品
短视频
印度
印度
一周十大热门主题
飒视频 | ChatGPT给你写的“调查报告”,可能不属于你
【Ludic:轻量Python框架,类似于 React,使用组件-20240322132157
写给不会代码的你:20分钟上手 Python + AI
类ChatGPT平台Cohere正融资5亿美元,估值50亿美元
本周github最火的开源项目是这个!!!
Python编程的终极十大工具
GPT-4「荣升」AI顶会同行评审专家?斯坦福最新研究:ICLR/NeurIPS等竟有16.9%评审...
GitHub(微博搜索)-20240324-1
Stability AI CEO宣布辞职;消息称OpenAI将与好莱坞电影公司会面并推荐Sora丨A...
内容整理人员招募|数据湖、大模型、推荐、图机器学习等
关注
Py学习
»
Git
哈哈哈哈,16 岁高中生开发「粤语编程」项目,在 GitHub 火了!
GitHubDaily
• 2 年前 • 206 次点击
公众号关注 “GitHubDaily”
设为 “
星标
”,每天带你逛 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/115861
206 次点击
登录后回复