16 岁高中生开发「粤语编程」项目,在 GitHub 火了!
开发者技术前线
共 1981字,需浏览 4分钟
· 2021-07-04
点击“开发者技术前线”,选择“星标🔝”
点击“开发者技术前线”,选择“星标🔝”
让一部分开发者看到未来
来自:github中文社区
好听的粤语都能编程了!
最近十分搞笑的饮茶梗,刷新了大家对粤语的认知。 其实粤语一直都是一个隐含着幽默感的方言,想想「旺角卡门」中的乌蝇哥,是不是脑海中已经回荡起了学友哥的四字语音?而且毋庸置疑,粤语还是需要保护的文化遗产。 那么,今天我就给大家介绍一个有趣的粤语编程语言 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:
这种编程,是不是很好玩呢?赶快尝试下吧
粤语编程语言 ——The Cantonese Programming Language。
看来大家都是 C 语言啊。
更多开源 点这里👇关注
Github地址
项目地址:https://github.com/StepfenShawn/Cantonese
— 完 —
点这里👇关注我,记得标星呀~
前线推出学习交流一定要备注:研究/工作方向+地点+学校/公司+昵称(如JAVA+上海 扫码加小编微信,进群和大佬们零距离
评论
互联网晚报 | 大麦网已退款凤凰传奇演唱会“柱子票”;钟薛高再成被执行人;iPhone 16或取消实体音量键和电源键
大麦网回应凤凰传奇演唱会买到“柱子票”:已退票退款据报道,凤凰传奇2024巡回演唱会常州站演出结束的第二天,有网友称自己在大麦网买到“柱子票”,因为观看效果不佳,要求退款被拒。23日,记者从涉事网友处了解到,大麦方面给出了退款建议,但被其拒绝,“我希望平台退款加赔偿,并重视屡次出现的‘柱子票’问题。
产品刘
0
【第128期】提升编程效率VSCode变量命名插件推荐
概述 在编程的世界里,一个好的变量名不仅能够提升代码的可读性,还能反映出程序员的专业水平。Visual Studio Code(VSCode)作为一个广受欢迎的代码编辑器,拥有丰富的插件生态系统,其中不乏能够帮助我们高效命名变量的工具。今天,我们就来介绍几款VSCode上能够提升变量命名效率的插件
前端微服务
0
【第126期】效地利用AI辅助编程并提高编程效率
概述 AI可以在编程的多个环节中提供帮助,从而显著提高编程效率。同时,也要注意AI工具的选择和使用,确保它们能够真正提升你的工作效率,而不是成为额外的负担。通过这些工具通过不同的方式辅助编程,包括代码生成、错误检测与修复、代码审查、自动化测试、性能优化等,旨在提高编程效率和代码质量。开发者可以根据
前端微服务
0
Java项目实战——打造一款股票区间交易盯盘系统
点击上方“Java进阶学习交流”,进行关注后台回复“Java”即可获赠Java学习资料今日鸡汤身无彩凤双飞翼,心有灵犀一点通。一、简介大家好,我是Snowball。今天给大家分享的内容是基于Java编程,实现股票交易相关功能开发,如果读者对股票或金融衍生物交易不太了解,又比较感兴趣的话可自行查询相关
Java进阶学习交流
0
AI智能视觉检测技术在工业级测量领域的创新应用--AMB Tube-Q导管数字化测量系统
技术背景在深度学习算法出来之前,对于视觉算法来说,大致可以分为以下5个步骤:特征感知,图像预处理,特征提取,特征筛选,推理预测与识别。早期的机器学习中,占优势的统计机器学习群体中,对特征是不大关心的。深度学习是机器学习技术的一个方面,由人工神经网络提供支持。深度学习技术的工作原理是教机器通过实例学习
机器视觉
0
下沉市场对黄金的偏爱,停滞在金价飙升之前
狂买还是狂卖?冲击万店,汉堡界能跑出下一个蜜雪冰城吗?最近一段时间金价的暴涨,已从部分人的惊喜变成大众的惊吓。大众的讨论从升值贬值、这个时间段入手是否合适,开始变成“上次金价暴涨世界发生了什么?”的担忧。金价狂涨在互联网中已经演变为大众话题,无论准不准备囤黄金,手头有没有黄金,都或多或少关注着金价的
亿欧网
0
6 个火爆 GitHub 的后台管理模板,快来收藏!
将Python客栈设为“星标⭐”第一时间收到最新资讯今天来给大家介绍6个火爆 G 站的管理后台模板,有了它们,对于前端不是很熟悉的小伙伴来说,再也不用烦恼了,而且有一说一,即使是前端大牛,要想从零开发一套完整的管理模板,也不是一件容易的事情。1. vue-element-admin该项目是基于 Vu
Python客栈
0
五一抢票难,Python抢票脚本,火了!
大家好,今天继续聊聊科技圈发生的那些事。一、py12306话说回来,也快到五一了,不知道小伙伴们有没有出行计划呢?是选择回家,还是出去旅游呢?出行票的第一轮应该是放完了,我们就来赶赶末班车吧。py12306 这个项目其实就是一个抢票的工具,或许是临近出行购票热潮,这类项目又狠狠火了一把。工具的使用非
Jack Cui
7129