請更新您的瀏覽器

您使用的瀏覽器版本較舊,已不再受支援。建議您更新瀏覽器版本,以獲得最佳使用體驗。

科技

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

TechOrange 科技報橘

更新於 2020年12月04日02:11 • 發布於 2019年12月17日21:26 • 郭家宏

不管是 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
圖片來源:Github

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

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

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

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

你可能用 Python、JavaScript、Ruby、Java、Go 等语言写过代码,但是你绝对还没有使用「文言文」写过代码,但,有了这个工具以后,或许你就可以了:https://t.co/oeJ0tAiUqj

,思路清奇。 pic.twitter.com/YETtZ3C1uA

— Barret 李靖 (@Barret_China) December 17, 2019

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

延伸閱讀

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

0 0
reaction icon 0
reaction icon 0
reaction icon 0
reaction icon 0
reaction icon 0
reaction icon 0

留言 16

  • 賴冠呈
    噱頭而已 全球數十種電腦語言都用英文 只有台灣、馬來西亞、香港、新加坡、中國 的電腦能打出中文,但全球每一台電腦都能打出英文
    2019年12月18日12:01
  • 莊蘭蕙
    其實還不是仿他人模式
    2019年12月18日11:00
  • 脫褲子放屁多此一舉
    2019年12月18日18:17
  • ming
    寫程式語言十多年了 現在程式與工具開發都是精簡當道 強調可閱讀性 這文言文還是留給開發的自己用吧 而且也看不出好處 筆畫那麼多 只會搞死開發者 中華文字語句是華麗且博大精深 但不適合做這件事
    2019年12月19日04:25
  • 亷亞翰
    看留言就知道誰有在寫程式誰沒在寫 現在寫程式要考慮可維護性 其中基本上要考量的就是可讀性 可讀性越高的程式後面的人在維護就越容易理解開發人員的想法 講簡單一點就是 寫成這樣誰他媽看得懂 等我看懂倒不如自己重頭寫來得快
    2019年12月19日18:24
顯示全部