Quantcast
Channel: 工程師 – TechOrange
Viewing all articles
Browse latest Browse all 585

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

$
0
0

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

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

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

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

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

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

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

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

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

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

工程師定義了三個列。

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

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

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

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

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

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

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

GitHub 傳送門
coding 介面

圖片來源: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