看板 CFantasy 關於我們 聯絡資訊
※ 引述《wizardfizban (瘋法師)》之銘言: : 看多了我也困惑了起來。 : 雖然我不是這方面專家但好歹也懂一點點。 : 我認知中程式語言最終還是要轉譯成機器語言,電腦才能執行他。 : 機器語言簡單來說就是0101010。 : 最早編程就是010101這樣做,但這樣太苦逼了。 : 所以才開始有人開發高階的也就是形式語言。以我們人類較為直觀方便的方式編程,然後 : 再以轉譯程序翻譯成機器語言給電腦執行。 : 所以每次看到用漢語寫的程式語言多優美多簡潔可以甩那些英文語言好幾條街的說法時, : 我都很困惑。 : 關鍵在優勢在那?現在的形式語言的優缺點其實就是不同語言適用的程式開發不同,有些 : 語言用在特定的情況下更方便。 : 所以漢語的程式語言優勢在那?最終都是要翻譯成機器語言的不是嗎?在基底都一樣的情 : 況下,只是把英文符號改成漢語符號就能有一堆優勢? : 我真心不懂為什麼?有專家能為我解惑嗎? 中文程式語言,幾乎不可能比使用英文或符號的程式語言更有優勢。 這要從程式語言的理論來說起,程式語言是人與機器的溝通媒介, 而控制機器的通用核心計算模型,它必要的操作是非常少的。 以當前主流的馮紐曼機而言,只要設值、計算、判斷三種主要操作, 就可以完成一切功能,幾乎所有的計算模型都是如此簡單。 然後加上方便人類理解的流程控制和資料型態之後,就構成通用的 程式語言,早期的 C 語言 (C89) 總共只有 32 個關鍵字,到現在 C11 是 44 個。 這個數量雖然偏低,但像是功能已經相當完整的 Java 是 53 個, 到最複雜的 C++ 也沒有超過 100 個,而 C++ 已經讓很多人覺得 太過困難了。 在這樣的複雜度之下,中文並沒有優勢可言。除非是一開始就需要 數百種以上的核心要素並有高度組合性的運算結構,使得任何一個 語法操作或實體描述就需要 40 到 60 個字元以上,這時使用中文 就會有減少組合爆炸的好處。 但目前及近未來的機器或系統,還不會複雜到這個程度,就算是在 理論上存在,短期內人類也很難設計和製造出來。 需要注意的是,現在許多程式語言已經可以用中文來寫了,但由於 沒有實際的好處,那只是有趣而已。 例如著名的 PerlYuYan: https://github.com/audreyt/lingua-sinica-perlyuyan # The Sieve of Eratosthenes - 埃拉托斯芬篩法 use Lingua::Sinica::PerlYuYan; 用籌兮用嚴。井涸兮無礙 。印曰最高矣 又道數然哉。 。截起吾純風 賦小入大合。 。習予吾陣地 並二至純風。 。當起段賦取 加陣地合始。 。陣地賦篩始 繫繫此雜段。 。終陣地兮印 正道次標哉。 。輸空接段點 列終註泰來。 這是一個計算質數表的程式,像這樣用文言來寫程式夠酷了吧, 但就真的不會比英文來得好用。 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 220.137.1.211 ※ 文章網址: https://www.ptt.cc/bbs/CFantasy/M.1525973194.A.5CE.html
wizardfizban: 總算有專業的出來解惑了 05/11 01:28
scbhung : 想用中文程式語言,他大概得把電腦晶片從頭發展一個 05/11 01:28
scbhung : 依照所謂的中文邏輯來發展…至於那是什麼東西,我想 05/11 01:29
scbhung : 像不出來 05/11 01:29
linzero : 中文程式語言還是可以轉成現在的機械語言的,不用弄 05/11 01:32
linzero : 新的晶片 05/11 01:32
linzero : 至於所謂中文邏輯的晶片,我也想不出那是什麼東西 05/11 01:32
不需要到晶片層次啦。 最簡單來說,程式語言一直都有符號派跟英文派,英文派一度佔了上風, 學術界用 Pascal, 商業界用 COBOL. 只是 C 對 Pascal 的取代性太大,COBOL 衍生成 RPG 最後變成 SQL, 完全變成資料庫專用語言。 只要系統複雜到使用符號和英文不是太長就是太難閱讀,用中文就會有 簡潔易讀的優勢。 問題在於現在的系統模型沒那麼複雜,過去在 MAS (Multi-Agent System) 流行時,就有人提出用中文在複雜的大型智能 MAS 中可能會有優勢, 或許可以有中文的 AOPL (Agent-oriented programming language)。 但 MAS 實在太複雜,一直搞不出實用的標準模型,也沒有強大的應用, 也就沒有機會看到用中文作程式語言了。不然其中有滿滿的模糊性社會 詞彙,例如:信念、目標、義務、願望、承諾、請求、協商... 等等, 真的是中文比較好用,我寫這個都懶得用英文了。
gimyhsiou : 樓上你可以想像廟裡的擲筊... 05/11 01:32
nothingbut : 怎麼說?玄學嗎? 05/11 01:33
sheo99 : 這樣也能釣出大能,服了 05/11 01:35
killme323 : 心電感應嗎=_= 05/11 01:35
enjoytbook : 還可以期待量子電腦,雖然這輩子大概都看不到就是了 05/11 01:36
art1 : 所以那段文言文中,哪幾個是關鍵字阿? 05/11 01:37
linzero : 這種寫法,就想起一種define一堆0oO這種來寫程式的 05/11 01:38
linzero : 搞笑做法 05/11 01:38
vsbrm : 中文程式有些字會變成***或是諧音字,BUG會除不完 05/11 01:38
killord : 這篇專業 因為我連邊都看不懂! 05/11 01:56
art1 : 聽起來就是自動產生文章的需求 05/11 02:03
art1 : 也可以類推到自動產生程式碼 05/11 02:03
gate210 : 幹這個屌w 05/11 02:06
※ 編輯: capita (220.137.1.211), 05/11/2018 02:34:54
signorr : 推~一切都是心血的投入 05/11 02:23
forb9823018 : 系統大時語言相容性會有一大堆莫名其妙de不完bug 05/11 02:42
unrechiran : 跟我想的一樣(? 05/11 03:15
cloki : 那段文言文真的完全看不懂了... 05/11 03:50
hdjj : 推,這篇專業 05/11 05:47
linzero : 不能理解為什麼複雜時,英文符號就比中文難閱讀 05/11 08:26
innominate : 樓上,因為你的母語是中文....XD 05/11 08:48
sickleo13 : 文言文那段完全看不懂 05/11 09:38
vdml : 就好像用中文寫微積分或科學式 沒必要吧 05/11 10:41
soyghcg : 中文語法拿來卡核心門檻才是重點 05/12 03:26
soyghcg : 商業保密+防止被攻擊 可不是沒優點 05/12 03:29
peterturtle : 那還不如加密 05/12 10:41
darkbrigher : 笑死 這麼好還能保密中國為啥不用? 推不起來? 05/12 18:08
darkbrigher : 全中國從機械語言到OS到軟體全換成中文啊 05/12 18:09
roger214 : 你舉的例已經是解讀自然語言笵疇了,C++也不可能解 05/14 05:42
roger214 : 讀編譯一篇英文文章吧..... 05/14 05:42
fewhy : 我覺得你舉的例子不夠好 05/14 11:20
fewhy : 比較早期的理由是拼音語言字元總數基本上比較少。 05/14 11:22
fewhy : 然後可能還要考慮到打字示意的速度。才能評論以哪個 05/14 11:23
fewhy : 語言寫程式比較優 05/14 11:23
fewhy : 關鍵字什麼的 其實不是很重要。你自己也說關鍵字也 05/14 11:24
fewhy : 沒多少個。沒多少就不會是關鍵啦。 05/14 11:24
killerken : 你用文言文完全沒有簡潔易讀的感覺好嗎www 05/16 17:28