Re: [閒聊] 中國科幻小說常見的老梗 漢語程式語言
※ 引述《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
推
05/11 01:28,
6年前
, 1F
05/11 01:28, 1F
推
05/11 01:28,
6年前
, 2F
05/11 01:28, 2F
→
05/11 01:29,
6年前
, 3F
05/11 01:29, 3F
→
05/11 01:29,
6年前
, 4F
05/11 01:29, 4F
→
05/11 01:32,
6年前
, 5F
05/11 01:32, 5F
→
05/11 01:32,
6年前
, 6F
05/11 01:32, 6F
→
05/11 01:32,
6年前
, 7F
05/11 01:32, 7F
不需要到晶片層次啦。
最簡單來說,程式語言一直都有符號派跟英文派,英文派一度佔了上風,
學術界用 Pascal, 商業界用 COBOL.
只是 C 對 Pascal 的取代性太大,COBOL 衍生成 RPG 最後變成 SQL,
完全變成資料庫專用語言。
只要系統複雜到使用符號和英文不是太長就是太難閱讀,用中文就會有
簡潔易讀的優勢。
問題在於現在的系統模型沒那麼複雜,過去在 MAS (Multi-Agent System)
流行時,就有人提出用中文在複雜的大型智能 MAS 中可能會有優勢,
或許可以有中文的 AOPL (Agent-oriented programming language)。
但 MAS 實在太複雜,一直搞不出實用的標準模型,也沒有強大的應用,
也就沒有機會看到用中文作程式語言了。不然其中有滿滿的模糊性社會
詞彙,例如:信念、目標、義務、願望、承諾、請求、協商... 等等,
真的是中文比較好用,我寫這個都懶得用英文了。
→
05/11 01:32,
6年前
, 8F
05/11 01:32, 8F
推
05/11 01:33,
6年前
, 9F
05/11 01:33, 9F
推
05/11 01:35,
6年前
, 10F
05/11 01:35, 10F
→
05/11 01:35,
6年前
, 11F
05/11 01:35, 11F
推
05/11 01:36,
6年前
, 12F
05/11 01:36, 12F
→
05/11 01:37,
6年前
, 13F
05/11 01:37, 13F
→
05/11 01:38,
6年前
, 14F
05/11 01:38, 14F
→
05/11 01:38,
6年前
, 15F
05/11 01:38, 15F
推
05/11 01:38,
6年前
, 16F
05/11 01:38, 16F
推
05/11 01:56,
6年前
, 17F
05/11 01:56, 17F
→
05/11 02:03,
6年前
, 18F
05/11 02:03, 18F
→
05/11 02:03,
6年前
, 19F
05/11 02:03, 19F
推
05/11 02:06,
6年前
, 20F
05/11 02:06, 20F
※ 編輯: capita (220.137.1.211), 05/11/2018 02:34:54
推
05/11 02:23,
6年前
, 21F
05/11 02:23, 21F
推
05/11 02:42,
6年前
, 22F
05/11 02:42, 22F
推
05/11 03:15,
6年前
, 23F
05/11 03:15, 23F
推
05/11 03:50,
6年前
, 24F
05/11 03:50, 24F
推
05/11 05:47,
6年前
, 25F
05/11 05:47, 25F
→
05/11 08:26,
6年前
, 26F
05/11 08:26, 26F
推
05/11 08:48,
6年前
, 27F
05/11 08:48, 27F
推
05/11 09:38,
6年前
, 28F
05/11 09:38, 28F
→
05/11 10:41,
6年前
, 29F
05/11 10:41, 29F
推
05/12 03:26,
6年前
, 30F
05/12 03:26, 30F
推
05/12 03:29,
6年前
, 31F
05/12 03:29, 31F
→
05/12 10:41,
6年前
, 32F
05/12 10:41, 32F
→
05/12 18:08,
6年前
, 33F
05/12 18:08, 33F
→
05/12 18:09,
6年前
, 34F
05/12 18:09, 34F
推
05/14 05:42,
6年前
, 35F
05/14 05:42, 35F
→
05/14 05:42,
6年前
, 36F
05/14 05:42, 36F
→
05/14 11:20,
6年前
, 37F
05/14 11:20, 37F
→
05/14 11:22,
6年前
, 38F
05/14 11:22, 38F
→
05/14 11:23,
6年前
, 39F
05/14 11:23, 39F
→
05/14 11:23,
6年前
, 40F
05/14 11:23, 40F
→
05/14 11:24,
6年前
, 41F
05/14 11:24, 41F
→
05/14 11:24,
6年前
, 42F
05/14 11:24, 42F
推
05/16 17:28,
6年前
, 43F
05/16 17:28, 43F
討論串 (同標題文章)
本文引述了以下文章的的內容:
完整討論串 (本文為第 4 之 18 篇):