来自:机器之心粤语编程语言 ——The Cantonese 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:

火了!16 岁高中生开发「粤语编程」项目相关推荐

  1. 哈哈哈哈,16 岁高中生开发「粤语编程」项目,在 GitHub 火了!

    点击上方 "编程技术圈"关注, 星标或置顶一起成长 后台回复"大礼包"有惊喜礼包! 每日英文 Everyone wants to escape sometime ...

  2. 16 岁高中生开发「粤语编程」项目,在 GitHub 火了!

    点击上方"Github中文社区",关注 触达Github项目 来自:github中文社区 大家好!我是Huber! 好听的粤语都能编程了! 最近十分搞笑的饮茶梗,刷新了大家对粤语的 ...

  3. 文言文编程还不够好玩?这里有个16岁高中生开发的粤语编程项目,GitHub star量600+...

    点击上方"AI遇见机器学习",选择"星标"公众号 重磅干货,第一时间送达 来自:机器之心 粤语编程语言--The Cantonese Programming L ...

  4. 16岁高中生的「卷」,用13000+行代码,从头写了一个C++机器学习库

    人工智能领域现在也流行高中生拯救世界了? >>>> 一个热爱计算机的少年,16 岁就已经可以做出点东西来了,比如开发个粤语编程语言.拿个 Kaggle 冠军.写个游戏.开发个加 ...

  5. 文言文不好玩,16岁高中生开发粤语编程项目

    本文转载自程序员极客实验室 粤语编程语言--The Cantonese Programming Language.看来大家都是 C 语言啊. 最近十分搞笑的饮茶梗,刷新了大家对粤语的认知. 其实粤语一 ...

  6. 苹果手机改linux,16 岁高中生把 iPhone7 改造成 Linux 服务器

    近日,国外一名 16 岁的开发者发布了一则视频,展示自己为一台已经无法正常使用的 iPhone 7 成功移植了 Ubuntu 20.04,并将其作为服务器来使用. 发布视频的开发者网名为 Daniel ...

  7. docker php composer 使用_「PHP编程」如何使用Docker制作自己的LNMP/LAMP镜像

    LNMP和LAMP是PHP常用的两种运行环境,L代表Linux,N代表Nginx,A代表Apache,M代表Mysql,P代表PHP.在文章<「PHP编程」安装开发环境太烦?告诉你几个简单方法, ...

  8. 被 GitHub 「临时邮箱」项目拉黑,Firefox Relay 引热议;业内首个开源容器安全平台发布;Deepin 20.4 发布 | 开源日报

    整理 | 宋彤彤 责编 | 屠敏 开源吞噬世界的趋势下,借助开源软件,基于开源协议,任何人都可以得到项目的源代码,加以学习.修改,甚至是重新分发.关注「开源日报」,一文速览国内外今日的开源大事件吧! ...

  9. 谷歌「气球互联网」项目,烧钱9年,难逃关停命运

    子豪 发自 凹非寺 量子位 报道 | 公众号 QbitAI 终于,在多年烧钱却仍找不到商业化途径之后,谷歌曾备受瞩目的「气球互联网」项目被宣告关闭. 最近,谷歌母公司Alphabet以一篇博文--&q ...

最新文章

  1. Web框架之Django篇
  2. 2.5.2 MySQL二进制日志介绍
  3. 通俗理解tcp/ip的三次握手和四次分手
  4. P5662-纪念品【dp】
  5. openssh升级sftp_OpenSSH 8.2 发布 包括 sftp 客户端和服务器支持
  6. 项目管理综述(需要完善)
  7. Hive 求全局Top N
  8. JWT、JWE、JWS 、JWK 都是什么鬼?还傻傻分不清?
  9. 第四季-专题6-Linux内核子系统
  10. selenium模拟登录QQ空间
  11. 公众号快速注册并认证小程序
  12. 如何破解XP开机密码
  13. 如何扩展关键词,以及使用python多线程爬取bing搜索结果
  14. win10有信号没有网络连接到服务器,win10系统显示网络连接正常但没有网络,无法上网的办法介绍...
  15. 关于kindeditor编辑器批量上传图片不显示添加图片按钮的问题
  16. RxSwift系列—Driver
  17. 程序员中的奇葩,使用php构建魔兽世界
  18. pmp 2021年6月20日考试原题分享
  19. 国内 maven 仓库镜像地址收集
  20. 读书笔记:《史蒂夫乔布斯传》

热门文章

  1. Qml Image 截取一部分图片形式
  2. 01 NCC常用动作脚本
  3. 【三星:高效会议原则】
  4. could not retrieve mirrorlist报错解决方法
  5. 荣耀magic5pro参数配置 荣耀magic5pro评测
  6. 伪造html页面,跨站点请求伪造漏洞验证方法
  7. [轉]宽屏比例16:9与16:10
  8. STM32CubeMX和华为LiteOS Studio开发STM32
  9. 编程人生:毕业到迈入工作的第五年,发生了这些变化
  10. 推荐算法项目征集啦!多重奖品助力开源实践创新!