#586 留言者: 雨林 [2001-07-23 11:59:36]
主題:試回應LEE的疑問
在需多年以前,小弟也有與您相同的疑惑。也曾困惑中文的C語言有何實用上的意義。不過慢慢地發現,問題不在"取代",而是"概念"的轉變。要不,就會與現在所謂中文網址遇到的問題是一樣,用big5碼打出中文網址,所需要按的鍵盤碼遠超過英文網址。
目前大部分的程式語言,其實您可以把它想像成,用一塊塊轉塊堆砌出的功能。以您的程式為例,
第一行的#include <stdlib.h> 這標頭檔裡頭所定義的函數,就幾乎就包含您常用到的函數,加上您所定義的函數,最後堆砌您所需要的排序功能。甚至最後您可以把它放到標頭檔中,變成一個您所熟悉的printf一樣的"函數"。
但有個問題,如果今天我們要排序的資料不是數字、而是文字、甚至是多國的地區文字,或是視訊、音訊資料時。您這個程式當然就無法運用。然而您可以繼續堆砌程式,最後程式越變越大,而唯一不變的就是排序法這個人的"概念"。
從電腦與人的角度來看,我們希望把我們的目的,在電腦中實現時(環境限制),先用人類易懂的中高階程式語言編寫指令,最後編譯'剖析......成電腦所能運作的機器碼。其實中間的變化都只是介面的轉換。尚無法達到'溝通"的地步。所以還是只有人能了解排序的觀念,電腦還是只懂得0與1。中間的介面,不斷推陳出新。不過還是脫離不了這個架構。
什麼是C語言中文化呢?當然不會是您所熟悉的軟體中文化之類的想法。
您可以用C語言的"程式碼",向一群小朋友解釋什麼是泡沫演算法,同樣地您也可以用"圖形化、文字化"的C語言,向小朋友解釋,相信後著了解的人會更多。至於什麼是圖示化的C語言?姑且先不論,現在先換個角度,把小朋友取代成電腦,為何不教電腦直接了解什麼是排序呢?
現在您所接觸的所有資訊科技,說白一點,不過是"資料搬來搬去而已"。只是為了搬的有效率,人類想出很多演算法、模式、數學,希冀"模擬"出人的概念而已。最後硬體速度越快,技術也延伸多種人類比較能理解的介面,只是延伸的越多,人類本身就更難全面整合這些介面了,更何況電腦最後還是只有懂得0與1。
C語言的中文化 其實很相當容易理解,甚至還與程式撰寫的技巧有一點關係。以您的程式碼為例,我只保留註解的部分。以前我們公司裡面,規定程式撰寫時,先完成註解的layout後,最後再進行CODING,最後那個layout也就成了程式碼的註解部分,不需在程式碼完成後,再行的進行註解。現在回想一下,這兩個部分的工作都是人類,可能做LAYOUT與CODING是同一個人,也許是不同人,但一定都是人類。所以您的困惑可以紓解一下了,只要把後面人的工作,換成電腦來進行了,而不需要人類,那不就實現了嬤?
您的註解部分:
/* 最大字串長度 */
/* ---------------------------------------- */
/* 泡沫排序法 */
/* ---------------------------------------- */
/* 第一層迴路 */
/* 第二層迴路 */
/* 比較相鄰的陣列元素*/
/* 交換兩字元 */
/* 列印交換後字串 */
/* ---------------------------------------- */
/* 主程式: 輸入字串後將字串排序. */
/* ---------------------------------------- */
/* 字串陣列 */
/* 字串長度 */
/* 讀取字串 */
/* 計算字串長度 */
/* 泡沫排序法 */
/* 列印排序後字串 */
}
小結:
您也許會很好奇,電腦要如何看到中文的LAYOUT,就可以換成程式碼呢?我也以前也很好奇,不過現在世間已經有"能人",可以把文字概念,轉換成某個環境限制下的基本元素,最後render成視訊。您說,這個部分還會很難嗎?
感覺朱先生以前提出的中文c語言只是個概念楔子,有沒有實現,其實不是重點。重點是實現下面的"程式碼":
"請將我所輸入的資料,進行氣泡排序後輸出"
如果聽令者是人類,他只要紙筆,然後知道這個排序法,問題就不大。但如果是電腦,那變化可多了。至於電腦如何"理解"這句話呢?說穿了,也只是資料搬來搬去而已,不過與前述的資料搬來搬去,差異可說天淵之別。
電腦要如何理解這句話呢?那得問問我們自己,是如何'理解"這句話的?其實中文字本身就扮演了溝通的角色。
電腦或數學演算法可以視為資訊領域中,很重要的領域。但中文字本身的概念,不就已將主導了中國人概念溝通的基本演算法嗎?中國人是人類,兩個中國人能藉此介面溝通,那電腦與人能否也藉此介面與人溝通呢?
事實上目前我們可能還是需要其它的演算法,來詮釋與運用這個中文的特殊演算法,不過這是為了能在WINTEL等電腦硬體限制下實現罷了。文字還是繼續扮演文明載體的作用,一直到.........
至於中文字有多奧妙,與您分享一下,中國人一開始是都是母系社會,最後變成父系社會(大部分人類的種族都是如此,不過也有一直到今一直是母系社會的),所以中文字也記錄了文明的變化,中國字原本是沒有"她"這個字的。原因是中國字是在父系社會下慢慢形成,女性地位並不高。所以即使有很多女字旁的文字出現,但這個"她"一直要到民初來組合出來。組合這個字的人,就是民初的劉半農所做的詩(教我如何不想她http://www.poem.com.tw/classic/劉半農/009.htm)才第一次出現(最後有人把它譜了曲,成了一首歌)。也就是說1920年以後,中國字的"她"才慢慢流通起來,也記錄民初女性意識慢慢談抬頭的歷史。也代表了中國字是會成長變化的,也許變化的速度與幅度,並不會太大,不過,還是在變化。
小弟拾人牙慧,饒舌之論共勉之。
回應:
答:先生所言深得吾心,確實如此,多謝代答。
此中關鍵,在於傳統讀書人所謂之「體用」關係,電腦建立在邏輯閘的「開、關」上,故0、1為「體」,其所控制之資料「搬移」為「用」。而人之理解則建立在「常識認知」上,應以「概念為體」,「資料搬移為用」。是以,只要在「漢字」上下足功夫,自知「常識」(概念之0、1)為何也。