倘若用文言文語法編程會怎樣?

還有一個問題,有朝一日,文言文會也能被應用到計算機科學中嗎?


各減平均各自乘相加除以項數開方

@6hu2t32


有一個很糟糕的問題:

漢學家不會告訴你這樣一個小秘密:要看懂文言文一小段話,你必須首先知道它在講什麼。因為古典中文根本是由幾個世紀的典故用一種簡要的編碼組成,流傳於一個書蟲們組成的精英小團體中,他們自己都徹底了解任何一點相關的文學背景。

課外讀物(莎士比亞語言):Shakespeare Programming Language


某程序員之妻謂其入市買桃數個,命有瓜,買一個。後乃買一桃還,問何故,曰:「因見賣瓜之」(評論區有專業的)

若 (瓜有之):
買 桃 一個
不然:
買 桃 數個


現在的程序事實上翻成中文就很像文言文啊


其實英語編程也基本沒有好用的,只有單詞被用上了。漢字其實也可以。


文言天然就是一種形式語言。語言學家最大的問題是非要去糾結什麼自然語言,詞性,句子成分

科學網-鉤沉:博士階段的漢語HPSG研究 - 李維的博文

科學網-【李白之39:探究自然語言的毛毛蟲機制】 - 李維的博文

[轉載]【白碩 - 穿越喬家大院尋找「毛毛蟲」】

其實只要從九章算術中找出一句話,母互乘子,就可以否定掉這些了。母子分別是什麼詞性,承擔什麼句子成分,完全無法解釋。恰恰相反,這個和APL的fork是一致的。母子互乘分別是四個函數,用函數類型代替詞性,這個問題就迎刃而解了。各減平均各自乘相加除以項數開方 中用到的parsing技術和上面幾篇文章中提到的HPSG並沒有本質區別。


那個,,漢語編程,挺好的,變數名一個字毫無壓力

符參針二 你好世界

int (func) main ( int argc, char**argv) {int i=100; while(i){i--;puts("你好世界""n");}}

那個"見"是通假字"現"

你看你看,簡直一一對應不是嗎

最重要的,都是常用字啊

===

噢對了,要是中國的IT也能像美國那樣的話,你會看到以下壯觀:

世界IT行業重心嚴重偏向東亞,尤其中國東部和日本,中國南部南方方言處極其明顯

朝鮮半島、越南恢復漢字(本來他們都是有漢字的)

泰語漢化(泰語在語言學上跟漢語挺近吧,畢竟是傣語)

新加坡放棄英語,並說,只有學漢語,新加坡才能強大(以前他們說學英語才能強大)

大不列顛大幅度引入中國文化(聽說他們引入了中國的教育,真慘啊)

中國人口大爆炸,美國移民、偷渡者居多,中國官方語言不得不加一個Chinglish

拉丁全民文盲,拿來一台電腦後一臉懵逼(拉丁的語言跟漢語兼容性不太好)

美國建立G reat 火 wall 以防止不利中國的信息流出,而不是中國建立

中國在美國西海岸建立真正的長城阻止偷渡(美國南面不就有一個)


文言文最大區別是以字為詞表意。按照這個來推的話,彙編就是文言文。


不現實。

因為文言文學習曲線太陡峭了。

而且各朝各代文言文的用法都不一樣。你要選哪一種?

——「今天我要發布的文言文語言使用《史記》為基礎!」

——「你個異端,《資治通鑒》才是正道!」

——「你胡說,《四庫全書》是世界上最好的文言文語言!」

----update-----

——「你這個語言用的是什麼字型檔?」

——「《康熙字典》啊」

——「WTF , 我說我用《說文解字》解釋器怎麼就出錯呢!?」

——「我呼籲大家都使用《新華字典》作為最終字型檔!!!!」

——「滾,現代文滾出編程界!!!!!」


季姬寂集雞雞即棘雞棘雞飢嘰季姬及箕稷濟雞雞既濟躋姬笈季姬忌急咭雞雞急繼圾幾季姬急即籍箕擊雞箕疾擊幾伎伎即齏雞嘰集幾基季姬急極屐擊雞雞既殛季姬激即記季姬擊雞記

另外,你去買一本古漢語字典,看看每個字有多少個解釋……


原版:

文言文版:


最容易被當前絕大多數計算機使用的編程語言是二進位機器語言;

最容易被當前絕大多數人理解使用的編程語言是人類各民族母語;

而實際用來編程的語言不過是二者的橋樑,用來編譯或解釋一下。

用文言文自然可以,捨近求遠罷了,徒增錯誤。

示例偽代碼片斷(某民政局資料庫摘編):

若夫【年齡 未及 花甲 且 已屆 若冠 】者

則曰 【其 已成年矣 可徙修城若干】

余則曰 【其未成年哉 或 年長及退也 可使鰥寡孤獨廢疾者皆有所養】


如果指的是詞語上使用文言文,非常簡單,只要把關鍵字換成文言文就行.

或者某些語法上借鑒一下文言文,也可以做到.

畢竟"喵喵喵"都能做成語言,只要你定義一套沒有歧義的表達方式語法,就能成為編程語言.

比如If換成"若".

但是如果真的指的是寫一篇文言文,然後被編譯運行,就很難了.

每種編程語言本身都有自己的語法,任何一種編程語言的語法都跟現實中人們使用的語言語法差異巨大.

應該說現實中人們使用的任何一種語言的歧義性都比編程語言要大,文言文是其中的佼佼者.

尤其是文言文,"句讀"即斷句,在標點符號誕生之前,文言文的一句話如何斷句是一個巨大問題.

根據如何斷句,一句話能夠理解出來的意思有很多種,更別提語句增多後上下文界限不明會導致歧義種類倍數上升.

而作為一種編程語言是要求不能有歧義的.一句話要做什麼是非常明確的.

這裡存在著如何將有歧義消滅,讀出實際明確含義的困難.

編譯器會表示自己非常難辦.


請題主把標題中的「編程」換成「加密」


using System;
using System.Threading;

namespace 啊哈哈
{
class 熱水器
{
public delegate void 水燒開了的委託(object sender,EventArgs args);
public event 水燒開了的委託 水燒開了;
private int 溫度 { get; set; }
public void 燒水()
{
for(; 溫度 &<= 100; 溫度++) { Console.WriteLine("【熱水器】現在燒到" + 溫度 + "度了"); Thread.Sleep(200); } } public void 燒水並告警() { if (水燒開了 != null) { if (溫度 &<= 100) { 燒水(); } 水燒開了(this, new EventArgs()); } } } class 顯示屏 { private int 溫度 { get; set; } public void 告訴大家水燒開了(object sender,EventArgs args) { Console.WriteLine("【顯示屏】水燒開了啊!!!"); } } class Program { static void Main(string[] args) { 熱水器 熱水器 = new 熱水器(); 顯示屏 顯示屏 = new 顯示屏(); 熱水器.水燒開了 += 顯示屏.告訴大家水燒開了; 熱水器.燒水並告警(); Console.ReadKey(); } } }

逃~!ε=ε=ε=┏(゜ロ゜;)┛


那就連上帝也不知道這段代碼是幹嘛的了.....


二義性太嚴重


斷句不同結果就不同,然後每種斷句都符合語言標準。編譯運行就像撞大運。


程序員甲:Python是世界上最好的語言

程序員乙:文言文乃世之至佳之言


多年以前已經有人實現了 PerlYuYan


推薦閱讀:

「作者都承認 C 和 Unix 不過是惡作劇而已」是真的嗎?
我該如何規劃、準備大學的計算機課程?
為什麼程序都要用英文寫,中文不行嗎?
零基礎如何成為編程高手?

TAG:編程語言 | 編程 | 軟體工程 | 文言文 | 計算機科學 |