Quantcast
Viewing all articles
Browse latest Browse all 585

Python 弱掉了!中國工程師開發「文言文程式語言」,讓你的 coding 充滿文學情懷

Image may be NSFW.
Clik here to view.

不管是 C 語言、Java 還是 Python,常見的程式語言大多是英文,因此想當個工程師,一定要有基礎的英文能力(至少要看得懂 if、else、return、float、int 吧)。但你有想過用中文寫程式嗎?

中國有個 GitHub 帳號為 Lingdong Huang 的工程師,開發了一款「文言文程式語言」,讓你用文言文寫程式,在萬行程式碼中展現你的人文情懷。

那麼,這款文言文程式語言是什麼神物?

變數定義、for 迴圈全變成了文言文

有個 twitter 帳號為 Barret 李靖 的中國網友轉發了 Lingdong Huang 的文言文程式,我們以 Barret 李靖貼在 twitter 上的程式碼,帶你了解要怎麼用文言文寫程式。

Image may be NSFW.
Clik here to view.

寫程式前要先定義環境。在文言文的版本中,寫法是:

吾有一術。名之曰「快排」。欲行是術。必先得一列。曰「甲」。乃行是術日。

這個程式要執行快排的工作,而工程師先為這個程式定義「列」。

寫程式也需要定義變數、行、列名稱等等。文言文的寫法是這樣的:

吾有三列。名之曰「首」。曰「頷」。曰「尾」。

工程師定義了三個列。

至於 if、else 邏輯與 for 迴圈,文言文是這樣的:

凡「甲餘」中之「丁」。
若「丁」小於「甲一」者。
充「首」以「丁」。
若非。
充「尾」以「丁」
也。
云云

用「凡」代表 for,「若」代表 if,「若非」代表 else if。不同的是,英文只用大小括號代表迴圈的運算範圍,而在文言文中,結尾還多了「也」、「云云」,增添一層中華韻味。

工程師通常會為程式做註解,方便後續的編輯與溝通。文言文的寫法是這樣的:

批曰。「「曼德博集。亦稱曼德布洛特複數集合。複平面上组成分形之點之集合也。」」

英文寫法是打斜線,文言文則是寫「批曰」,有種古人吟詩作對、或是鑑賞畫作時,為他人的作品寫下評論與簽名的味道。

有興趣的朋友,可以去 GitHub 看看文言文程式語言,試著用文言文寫段程式。

GitHub 傳送門
coding 介面

Image may be NSFW.
Clik here to view.
圖片來源:Github

微軟專家親自傳授最新開發者工具、秘笈!
2020 年 2/17、18 台北世貿一館
點我報名 Microsoft Ignite The Tour

網友:可讓孩子學這個!學程式又學古文,一舉兩得

不少網友在 Barret 李靖的推文下留言,大力稱讚這個文言文程式碼。網友表示,用文言文寫程式「古意十足」。另有網友留言:「如果要寫這種程式,工程師必須文理雙全」,對國文不好的工程師來說,這種程式碼應該是個噩夢。也有網友說:「可以讓孩子學這個,學程式又學古文,一舉兩得」。如果孩子真的學會這個,老工程師們應該會跟他跪吧。

還有網友留言:「遊戲開掛可以寫的跟符咒一樣」。原來打個遊戲還要這麼高端,需要具備中國文學素養啊!但如果是打三國這種以中國為背景的遊戲,用這種程式碼會真的很有味道。

不管是 C、C++、Java、JavaScript、Python、R,還是這次的文言文程式語言,雖然每個程式語言的表現方式有差異,但背後基本的邏輯推理架構與演算法是可以通用的,因此精通一種程式語言之後,要學會下一個程式語言的難度通常不會太高。如果你想提升自己的國文造詣,想在萬行程式碼當中注入文學氣息,展現自己的人文情懷,那你就可以改用文言文寫程式。但如果你需要與其他工程師溝通、協作的話,還是先考慮考慮吧,免得被整個團隊黑特啊!

(本文提供合作夥伴轉載。首圖來源:Barret 李靖 twitter 帳號

延伸閱讀

不想要一輩子只寫程式?當了 5 年的工程師後,你可以考慮往這 5 個職位發展
【GitHub 年度報告】JavaScript 登最熱門程式語言,Python 首次擊敗 Java 當第二
只會用 Excel 還不夠!七大主題,教你如何用 Python 優化數據分析效能


微軟最重要的 IT 盛會就在台灣!

快速掌握 Microsoft Azure 進階應用技巧

專家親手破解 AI、數位轉型最新技術關鍵!

2020 年 2/17、18 台北世貿中心》即刻報名參加


Viewing all articles
Browse latest Browse all 585

Trending Articles