16 歲高中生開發(fā)「粵語編程」項目,在 GitHub 火了!
點擊“開發(fā)者技術(shù)前線”,選擇“星標(biāo)??”
點擊“開發(fā)者技術(shù)前線”,選擇“星標(biāo)??”
讓一部分開發(fā)者看到未來
來自:github中文社區(qū)
好聽的粵語都能編程了!
最近十分搞笑的飲茶梗,刷新了大家對粵語的認(rèn)知。
其實粵語一直都是一個隱含著幽默感的方言,想想「旺角卡門」中的烏蠅哥,是不是腦海中已經(jīng)回蕩起了學(xué)友哥的四字語音?而且毋庸置疑,粵語還是需要保護(hù)的文化遺產(chǎn)。 那么,今天我就給大家介紹一個有趣的粵語編程語言 GitHub 項目,其開發(fā)者 Stepfen Shawn 似乎(自稱)是來自廣州的十六歲高中生。目前,該項目的 star 量已經(jīng)達(dá)到了 600+。雖然工作中不會用粵語寫代碼,但是空閑時玩一下粵語編程,難道不是件樂事嗎?
項目地址:https://github.com/StepfenShawn/Cantonese 粵語編程啟蒙 下面列舉了粵語版「Hello World」以及一些基本的功能(循環(huán)、函數(shù)等),還涵蓋了面向?qū)ο缶幊毯投褩J褂玫氖纠.?dāng)然,還有各種有趣的編程語法細(xì)節(jié),比如用「搞掂」來結(jié)束函數(shù),用「使下」來調(diào)用庫。
項目作者在《5 分鐘學(xué)會粵語編程》教程中解釋說,這里的「畀 (bei)」在粵語中是「給」的意思,「睇」是「看」的意思,所以整條語句的意思是「讓我看看」的意思,而后面的「點樣先?」則表示委婉的語氣,意為「怎么樣?」。對于這種有意思的互動,作者解釋說,「需要用委婉語氣來給計算機(jī)留下第一個好的印象,否則計算機(jī)可能會離家出走呢,對吧?」
而賦值語句「講嘢 |A| 系 1」的「講嘢」是「說話」的意思,「係」就是「是」的意思。作者表示,編程時寫「系」也是能運行的。同樣的,「唔係」就是「不是」的意思,「定係」就是「還是」的意思。
「落操場玩跑步...... 玩到 | 結(jié)束 | 為止」這個語句相當(dāng)于一個 loop,「結(jié)束」就是 loop 的條件。 而類似 break 的用法有三種:「收工」、「辛苦曬啦」、「同我躝」。前兩個很好理解,而第三個中的「躝」是「滾」的意思,所以使用哪個完全取決于你的心情。
「嘅」的意思是「的」,有沒有感覺瞬間能讀懂了。
「要做咩」直觀地告訴計算機(jī)該函數(shù)接下來要做什么,「搞掂」是「搞定」的意思,起到 end 的作用。
「掟個...... 來睇下」的作用是拋出一個異常,其中「掟」有仍或丟的意思。而「諗」的意思是「想」,讓計算機(jī)作判斷。 搜索公眾號后端架構(gòu)師后臺回復(fù)“架構(gòu)整潔”,獲取一份驚喜禮包。
「執(zhí)嘢...... 揾到...... 執(zhí)手尾」對應(yīng)著 try、except、finally。「執(zhí)嘢」是收拾房間的意思,「揾到」是指收拾中找到破爛了,至于「執(zhí)手尾」,就是選擇丟不丟這個破爛了。
講真,這個「使下」,比 import 更形象。
沒想到吧,居然還能進(jìn)行面向?qū)ο缶幊獭!竵凇沟囊馑际恰杆梗敢粋€對象;「佢嘅」意思是「它的」,能夠用來構(gòu)造屬性;「佢識得」意思是「它會」,用來構(gòu)造類的方法;「老豆」就是「爹」的意思,用于描述繼承關(guān)系。最后用「明白未啊」做結(jié)束語問計算機(jī)你明白了嗎,會讓計算機(jī)倍感親切,接受介紹給它的對象。
這里的「Deo 哥」很明顯是個棧,「頂你」就是放入棧,「丟你」就是從棧取出。 粵語編程進(jìn)階 下面列舉了一些粵語編程的進(jìn)階玩法,比如二分查找、線性查找、冒泡排序、插入排序、KNN 等算法的實現(xiàn)。能看到這里,說明你很感興趣啊,那就繼續(xù)學(xué)吧。
對你沒有看錯,由于此語言由 Python 開發(fā),還可以非常方便地編寫機(jī)器學(xué)習(xí)算法。
此處為作者的靈魂畫作(號稱是海龜)。
上圖是使用此語言開發(fā)的迷宮小游戲界面。 代碼鏈接:https://github.com/StepfenShawn/Cantonese/blob/main/examples/games/game.cantonese 下面是作者實現(xiàn)的網(wǎng)頁和 App 示例:
加入語言的方式 粵語編程語言運行在 Python 虛擬機(jī)上,支持 Python 3,使用方式如下:
還可以轉(zhuǎn)化為 Python 運行:
以及生成 HTML:
這種編程,是不是很好玩呢?趕快嘗試下吧
粵語編程語言 ——The Cantonese Programming Language。
看來大家都是 C 語言啊。
更多開源 點這里??關(guān)注
Github地址
項目地址:https://github.com/StepfenShawn/Cantonese
— 完 —
點這里??關(guān)注我,記得標(biāo)星呀~
前線推出學(xué)習(xí)交流一定要備注:研究/工作方向+地點+學(xué)校/公司+昵稱(如JAVA+上海 掃碼加小編微信,進(jìn)群和大佬們零距離
評論
圖片
表情
























