全民资讯网_打造最好的城市地方门户

Python弱爆了!中国工程师开发出“文言文程式语言”|硬核科技

2019-12-20 13:52:47 来源:互联网 阅读:0
Python弱爆了!中国工程师开发出“文言文程式语言”|硬核科技

不管是 C 语言、Java 还是 Python,常见的程式语言大多是英文,因此想当个工程师,一定要有基础的英文能力(至少要看得懂 if、else、return、float、int 吧)。但你有想过用中文写程式吗?

中国有个 GitHub 帐号为 Lingdong Huang 的工程师,开发了一款「文言文程式语言」,让你用文言文写程式,在万行程式码中展现你的人文情怀。

那么,这款文言文程式语言是什么神物?

变数定义、for 迴圈全变成了文言文

有个 twitter 帐号为 Barret 李靖 的中国网友转发了 Lingdong Huang 的文言文程式,我们以 Barret 李靖贴在 twitter 上的程式码,带你了解要怎么用文言文写程式。

Python弱爆了!中国工程师开发出“文言文程式语言”|硬核科技

写程式前要先定义环境。在文言文的版本中,写法是:

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

这个程式要执行快排的工作,而工程师先为这个程式定义「列」。

写程式也需要定义变数、行、列名称等等。文言文的写法是这样的:

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

工程师定义了三个列。

至于 if、else 逻辑与 for 迴圈,文言文是这样的:

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

用「凡」代表 for,「若」代表 if,「若非」代表 else if。不同的是,英文只用大小括号代表迴圈的运算范围,而在文言文中,结尾还多了「也」、「云云」,增添一层中华韵味。

工程师通常会为程式做註解,方便后续的编辑与沟通。文言文的写法是这样的:

批曰。「「曼德博集。亦称曼德布洛特复数集合。复平面上组成分形之点之集合也。」」

英文写法是打斜线,文言文则是写「批曰」,有种古人吟诗作对、或是鑑赏画作时,为他人的作品写下评论与签名的味道。

有兴趣的朋友,可以去 GitHub 看看文言文程式码,试着用文言文写段程式。

Python弱爆了!中国工程师开发出“文言文程式语言”|硬核科技

网友:可让孩子学这个!学程式又学古文,一举两得

不少网友在 Barret 李靖的推文下留言,大力称赞这个文言文程式码。网友表示,用文言文写程式「古意十足」。另有网友留言:「如果要写这种程式,工程师必须文理双全」,对国文不好的工程师来说,这种程式码应该是个噩梦。也有网友说:「可以让孩子学这个,学程式又学古文,一举两得」。如果孩子真的学会这个,老工程师们应该会跟他跪吧。

还有网友留言:「游戏开挂可以写的跟符咒一样」。原来打个游戏还要这么高端,需要具备中国文学素养,但如果是打三国这种以中国为背景的游戏,用这种程式码会真的很有味道。

不管是 C、C++、Java、JavaScript、Python、R,还是这次的文言文程式语言,虽然每个程式语言的表现方式有差异,但背后基本的逻辑推理架构与演算法是可以通用的,因此精通一种程式语言之后,要学会下一个程式语言的难度通常不会太高。如果你想提升自己的国文造诣,想在万行程式码当中注入文学气息,展现自己的人文情怀,那你就可以改用文言文写程式。但如果你需要与其他工程师沟通、协作的话,还是先考虑考虑吧,免得被整个团队黑特啊!


推荐阅读:叶紫