內容字號:默認大號超大號

段落設置:取消段首縮進段首縮進

字體設置:切換到微軟雅黑切換到宋體

業界資訊軟件之家
Win10之家WP之家
iPhone之家iPad之家
安卓之家數碼之家
評測中心智能設備
精準搜索請嘗試:精確搜索

這味兒上頭,前有文言文,又來東北話,中文編程玩得挺得勁!

2020/2/8 12:36:41來源:作者:曹培信責編:懶貓評論:

偷窥438 电影全宇宙都知道,東北話容易上頭,不知道用東北話編程,會不會上頭。

Google的一位華人高級軟件工程師/技術主管就開發了一款以東北方言為關鍵字的編程語言,并且在GitHub上進行了開源,并且還寫了一篇詳細教程來介紹這款語言。

項目地址:

文摘菌讀罷,唉呀媽呀,這味兒太上頭了!

"以人為本"新語言,先吹牛皮后實現

關于這個東北話編程語言,作者是這么介紹的:

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

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

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

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

作者顯然對自己開發的語言很有信心,直接表示:"這玩意兒可是填補了世界方言編程地圖上的一大片兒空地啊! 這么說吧,誰要是看了dongbei程序能忍住了不笑,我敬他是純爺們兒!"

關于這個語言的開發過程,我們可以看出來作者的做法確實很有東北味。

具體來說,這款名為dongbei的編程語言的開發采用了業界領先的TDD(TreeNewBee-Driven Development)方式,也就是每個功能都是先把文案寫好,八字沒一撇牛皮就吹起來了,然后根據牛皮寫測試案例,最后再實現功能讓牛皮不被吹破。

好一個"先吹牛皮后實現"!這款語言的安裝也很簡單,首先,dongbei語言是基于Python 3二次開發的,對環境依賴很少,只要能有Python 3就都能跑。

偷窥438 电影安裝時直接跑src/dongbei.py就成,如果是Mac環境,可以按下面鏈接的教程做:

規則簡單明了,考前附帶小抄

偷窥438 电影Dongbei語言的規則也賊好理解,我們把常用的規則羅列一下,這樣對東北話不太熟悉的小伙伴也可快速上手。

詞法

字符串偷窥438 电影:很簡單,中文全角雙引號之間的內容就是一個字符串常量,比如:

..."我是一個字符串"...

注釋:在字符串常量外面出現 # 字符,#之后的內容為注釋內容,比如:

嘮嘮:# 我是一個注釋。\n   "嘎哈#?"。# 我還是一個注釋。

的效果等于

嘮嘮:"嘎哈#?"。

分詞偷窥438 电影:為了適應華人書寫習慣,對分詞這一塊來說,dongbei語言加不加空格換行都無所謂。比如:

嘮\n 嘮\n    :\n         "嘎哈?"\n                。

的效果等于

嘮嘮:"嘎哈?"。

名字:代碼里面除了各種有特殊意義的關鍵詞(keyword),還會有各種用戶定義的名字(變量名、函數名、類型名,等等)。 在dongbei語言里面,除了關鍵詞、標點符號和常數,剩下的都是名字。 比如,在"張三乘李四"這個dongbei語言表達式里,"乘"是一個關鍵詞,"張三"和"李四"是兩個不同的名字。

并且,為了解決名字和關鍵詞之間需不需要回避的問題,dongbei語言允許你用中文全角方括號【】把一串字符標注為名字。 比如,"【階乘】"就明明白白地是一個叫"階乘"的名字,絕對不會被當成是名字"階"加關鍵詞"乘"。

常數:除了用阿拉伯數字表示的十進制整數(比如2、42、250,等等),0到10的常數也可以用中文表達:

零一二(兩/倆)三(仨)四五六七八九十

語法

對于dongbei的語法問題,作者表示,一個dongbei程序是由一串語句組成的。 每個語句以句號(。)結束。 為了表達程序員熾熱的感情,也可以用感嘆號(!)結束,意思和句號是一樣一樣的。 大家可以根據自己的心情任選使用。

偷窥438 电影并且,除了GitHub中詳細到有點"婆媽"的README,作者還放出了一個小抄,方便大家在寫代碼時碰到問題直接參考。

變量

老張是活雷鋒。# 定義變量。初始值:啥也不是。\n老張裝二。# 老張 = 2\n削老張。# 老張 = 啥也不是\n老王是活雷鋒。\n老王裝仨。# 老王 = 3\n老張裝老王。# 引用變量。老張 = 3

運算

老張走走。# 老張 += 1\n老張走兩步。# 老張 += 2\n老張稍稍。# 老張 -= 1\n老張稍三步。# 老張 -= 3\n老張裝老王加二。# 老張 = 老王 + 2\n老張裝(老張減三)除以五乘老王。# 老張 = (老張 - 3)/5*老王\n老張裝 老張齊整整地除以老王 # 老張 = (老張 / 老王),只留整數部分

比較

老王比5大\n7加二比老劉小\n老張跟老王一樣一樣的\n老李跟250不是一樣一樣的\n老劉啥也不是

打印

嘮嘮:"唉呀媽呀"。#打印字符串常量。\n嘮嘮:老王。#打印變量的值。\n嘮嘮:老王比老張大。#打印表達式的值。\n嘮嘮:"老王是"、老王。#打印兩個表達式的并置。

條件

尋思:老王比老張大?\n要行咧就嘮嘮:"老王!"。\n要不行咧就嘮嘮:"老張!"。

循環

老王從1到10磨嘰:\n嘮嘮:老王。\n磨嘰完了!

組合

尋思:老王比老張大?\n要行咧就開整:\n嘮嘮:"老王!"。\n嘮嘮:"你好美!"。\n整完了。

套路

【階乘】(那啥)咋整:# 定義套路 階乘,有一個參數 那啥。\n 尋思:那啥比一小?# 需要自推嗎?\n 要行咧就 滾犢子吧 一。# 返回值1。\n 要不行咧就 滾犢子吧 那啥乘整【階乘】(那啥減一)。# 需要。返回自推結果。\n整完了。# 定義結束。\n\n\n嘮嘮:整【階乘】(五)!# 使用套路

嘮嘮:整【階乘】(五)!#使用套路

幫襯

翠花,上math。#導入python math模塊。\n嘮嘮:整math.factorial(五)。#整個python套路。

在中文編程的路上越走越嗨的程序員們

偷窥438 电影這個項目的作者是一位Google的高級軟件工程師/技術主管,已經在谷歌工作了15年,同時也是Google C++測試框架googletest以及googlemock的原作者。

從頭像就能看出是個不一樣的程序員了,畢業于中國科技大學、中科院大學和耶魯大學,還曾在微軟工作了兩年,目前在為谷歌Ads開發大規模流數據處理系統。

除了這個"天雷地火"般的東北方言編程,之前還有一個中文編程項目——"文言文"編程,大四在讀的作者用文言文中語言作為規則創作了一款編程語言,可編譯成Javascript,也可編譯成Python,亦有線上編輯器(IDE)可直接操作,不可謂不"騷"。

偷窥438 电影這款文言文編程可謂文理兩開花,已經在GitHub獲得14.8k的標星。我們來簡單看一下文言文編程的定義,就知道這個語言有多"好玩"了:

  • 吾有一數是定義int變量;

  • 偷窥438 电影吾有一爻是定義布爾變量;

  • 偷窥438 电影吾有一言是定義字符串;

  • 吾有一術是定義函數;

  • 吾有一列是定義數組;

  • ……

文言文編程:

無論是"文言文"編程,還是東北方言編程,很多人都表示這就是一種"套裝",沒有實際意義。但是!程序員的工作已經如此單調,大家做的這些的項目,"好玩"本身不就是意義么!

相關文章

關鍵詞:編程github

IT之家,軟媒旗下科技門戶網站 - 愛科技,愛這里。

Copyright (C)RuanMei.com, All Rights Reserved.

軟媒公司偷窥438 电影版權所有