有內味兒了,東北話做編程語言,好使、招人稀罕

 更新時間:2020-02-06 16:00:28   作者:佚名   我要評論(0)


聲明:“本文經機器之心(微信公眾號:almosthuman2014)授權轉載,作者:思源、Jamin,禁止二次轉載”。如果東北話是編程語

聲明:“本文經機器之心(微信公眾號:almosthuman2014)授權轉載,作者:思源、Jamin禁止二次轉載”。

如果東北話是編程語言中使用的主要語言,編程是否更招人稀罕?學習編程是否會更歡樂?

前段時間,機器之心剛介紹過以文言文為編程語言的 CMU 本科生項目。近日,圈內又驚現以東北方言詞匯為基本關鍵字的編程語言(dongbei),此項目一出便有天雷勾地火,寶塔鎮河妖之勢。作者是一位 Google 的高級軟件工程師/技術主管,同時也是 Google C++測試框架 googletest 以及 googlemock 的原作者。

項目地址:https://github.com/zhanyong-wan/dongbei

黑客 代碼 安全漏洞 程序

dongbei 是個啥項目?

簡而言之,它是一門東北方言詞匯為基本關鍵字的編程語言。作者在項目開篇便強調了此編程需要「以人為本」:

這玩意兒可是填補了世界方言編程地圖上的一大片兒空地啊!這么說吧,誰要是看了 dongbei 程序能忍住了不笑,我敬他是純爺們兒!

那它有啥特點咧?多了去了:

  • 簡單啊!小學文化程度就行。您能看懂春晚不?能?那就沒問題。

  • 好讀啊!看著看著包您不由自主地念出聲兒來。

  • 開心啊!呃,做人嘛,最重要的是要開心。

  • 開源啊!不但不要錢,而且不要臉 -- 隨時隨地歡迎東北話高手打臉指正。

dongbei 編程語言的開發采用了業界領先的 TDD(TreeNewBee-Driven Development)方式。具體地說,就是每個功能都是先把文案寫好,八字沒一撇牛皮就吹起來了,然后根據牛皮寫測試案例,最后再實現功能讓牛皮不被吹破。這樣做有兩大好處:第一每個功能都是有的放矢,不值得 tree new bee 的功能一概沒有。第二確保了每個功能都有文案負責吹噓,開發者的辛勞絕對不會被埋沒。

不扯犢子了。翠花,上酸菜~~~

沒事兒,跑兩圈

項目是用來跑的,是騾子是馬需要拉出來溜溜。用東北話寫代碼,看起來就比較有意思,因此我們也把這個項目拉到電腦上溜一溜。首先,只要你的系統有 Python 3,那就甭麻煩了,直接下載 GitHub 項目,跑 src/dongbei.py 就成。

如下短視頻展示了下載及測試東北方言編程的簡單過程,項目實測很好用:

我們用著非常順滑,只需要保證開發環境有 Python 3 就行了。在上面的短視頻中,我們測試了東北方言中的「Hello World」,即輸出「唉呀,這嘎噠真他媽那啥!」。這里唯一需要注意的是東北方言代碼文件需要確保字符編碼方式為 UTF-8,即在代碼文件最上一行加上「# -*- coding: utf-8 -*-」。

如果你覺得編譯成功,完美地問候了世界,那我們寫一小段循環語句:

# -*- coding: utf-8 -*-

直觀理解起來就是:我們先給老王賦值為 3,然后循環十次,每次老王會加二。確實在運行中,我們也能得到期望的結果。不過值得注意的是,每次執行東北方言,它都會給出對應的 Python 代碼,如下所示,「從 1 到 10 磨嘰」展示的卻是 range(1, 11),這也許是使 Python 更貼近方言語法。

東北方言編程還有很多待我們挖掘的地方,也有很多更有意思的擴展。項目作者在項目中詳細介紹了各種詞法與語法,其它開發者同樣還提了很多有意思的建議,例如:

創建個新對象 - > 娶個新媳婦?

break - > 完犢子了

exit() - > 整沒了

Exception - > 整岔劈了

type() - > 你瞅啥

也許等項目完善后,導入第三方庫,用東北話寫個神經網絡也是闊以滴。

東北話「規則」大全

dongbei 固然好玩,但避免有些對我大東北方言整的不太明白的同學,作者也提供了一些詞法,語法,語義的解釋。

東北話詞法

字符串常量:字符串常量的用法變化不大,比如依舊是需配對對應的雙引號,這里理所應當配對的是中文全角雙引號:

...“我是一個字符串”...

注釋:注釋依舊使用 #,在字符串常量外,從 # 號開始后的都會成為注釋而被忽略掉:

嘮嘮:  # 我是一個注釋。
嘮嘮:“嘎哈#?”。

兩者是一樣一樣滴。

分詞:而分詞方面,為了適應廣大中文語言使用者,作者將其設定為加不加空格或換行都一樣。要知道在西方各語言中,空格對分詞的意義非常大,往往會導致整個詞組或語句所表達的核心意思完全不同。下面我們來看看示例:

嘮嘮:“嘎哈?”。

兩者也是一樣一樣滴,沒有任何區別。

名字:在 dongbei 的設定里,除了關鍵詞、標點符號和常數,其余都是名字。「張三乘李四」會自動判定「乘」是關鍵詞,「張三」「李四」是名字。如要避免這種情況,可以直接添加【】把一串字符標注為名字。

如【張三乘李四】則會完全被判定一個名字,而不是再將「乘」當作關鍵詞。這一點在之前的文言編程中是做不到的,我們在寫文言語句時經常要避開采用關鍵詞做變量名。

常數:除了日常所用的阿拉伯數字所表示的十進制整數外,dongbei 同樣可支持使用中文表達 0 - 10 的常數:

零一二三四五六七八九十

二也可以寫成兩或者倆。三也可以寫成仨。「+」也可用中文「加」表示。

東北話語法

東北話詞法承接厚重的中國文化,我們怎么用著舒服就怎么定義。而到了語法,一方面需要有對應的 Python 語句,另一方面也要保留原汁原味的東北話語法。dongbei 程序是通過多個語句組成,每一個語句通過句號「。」分隔。項目作者表示,為了表達開發者熾熱的情感,結尾的句號也可以等價替代為感嘆號「!」。

項目作者在 README 文件中描述的語法非常詳細,但是我們感覺直接看示例更加便捷。要是在寫東北話代碼時遇到了問題,那時再具體看看 README 中的語法也是不錯的選擇。

具體而言,我們可以從如下 8 個方面了解整體語法情況,這也是項目作者準備的「dongbei 語言考試小抄」。

1. 變量

image.png

2. 運算

image.png

3. 比較

image.png

4. 打印

image.png

5. 條件

image.png

6. 循環

image.png

7. 組合

image.png

8. 套路

image.png

相關文章

最新評論

老快3投注技巧 新11选5前三走势图山西 河南快3走势图_快3开奖走势图 辽宁11选5出号规律 排列3预测最准20专家 黑龙江体彩11选5开奖号器 辽宁十一选五软件 简单的赚钱软件 韩国首尔快乐8开奖结果 文商股指期货配资网 福彩七乐彩单式玩法 新加坡2分彩开奖记录 pk10计划专家在线计划 上证指数十年走势 北京pc蛋蛋28规则 银河配资 云南快乐十分开奖记录