close
> 你這樣講很怪,倒因為果了,
> 因為程式語言是故意設計成避免 ambiguity 的,
> 並不是程式語言無法達到這種"意境",而是故意避開,
> 相信你也不會希望你的程式每次跑出來結果都不一樣吧。
> 事實上,少部份的程式語言的少數語法的確具有 ambiguity。
yoco 大抱歉
現在才補上之前比較完整的回文
首先回答您提出的問題好了

第一.為什麼講到程式語言的特性和一般我們所謂的自然語言領域時
會差異甚大,甚至在我們比較兩者時,會常常出現 yoco 大說的倒因為果現象?

答案是因為正式的自然語言發展和人工的程式語言發展是剛好相反的過程
(這時就會發現歷史學家是很有用的)
如果我們回頭來檢視人類的語言歷史
會發現人類在自然語言領域的發展過程是從"複雜"慢慢演化到"單純"的
以目前考據歷史最久遠的古埃及語言來當例子就知道
古埃及語雖是拼音語言,但所有文字符號中"根本沒有母音"!
如貓頭鷹的符號是念m
但是古埃及人會知道貓頭鷹出現時,遇到何種狀況下該念 ma me mi mo mu
除此之外,古埃及文也很"原始"...常常利用具體的象形文符號來代替數千種意思...
歷史越久遠的文明,越有這種具體象形文符號的現象...如中國的甲骨文也是...
我們套一句完形心理學的名言就是"部分相加不等於全部!"
只有一次看到整個句子的結構,字彙才會有意義....
更遺憾的是...
由於古埃及或中國文明歷史實在太久遠
很多原始的象形文字開始演變成和原來的意思越差越多
如埃及的"鳥型符號"到後來根本就已經不是指鳥類的意思
它常常被用來引伸和埃及九榮神之一的霍爾斯神(老鷹)相關的人事物
(如被認為是霍爾斯神轉世的法老王或偉人等等)
結果在早期考古的語言學研究舉步維艱的困境也是在此

"因為古代一字多義甚至一字多音的情形實在太嚴重!!"
甚至有糟糕的蘇美人楔形文字紀錄...整篇文章給你由上寫到下...接著由左寫到右..
又由右寫回左...
(想必當初研究的語言學家和考古學家一定是這種心情:"按陰陽...你走迷宮啊...")

另外一個最讓大家熟悉的就是中國古代的文言文...
"道可道非常道"
光六個字其中三字還重複,就可以講一篇大道理出來(古人還不用標點符號呢)
這當初如果沒有哲學家或文學家的幫助,光靠語言學家大概會研究到腦子燒掉
更別提中國古代一堆相通的破音字...(倒地)

要知道現在各國語言幾世紀以來,都是盡量能發展趨向"一字少義"的潮流在進行
在什麼樣的情境下想表達出什麼意思...就是應該用哪些字才正確..
否則在很多正式場合寫出一些曖昧不明的文字或宣言
有時這都是對民族存亡很不利的事情
(簡體字干幹不分的那種白癡革命就不在此討論了...~"~)
至於為何語言學領域會有這種潮流...許多學者的觀點是...

"越人工多元化的結構常常反而越單純,越自然原始的結構常常反而越複雜"

舉例來說,英文發展至今天大約有三百多萬個字
但是二十世紀後的英文結構...和莎士比亞時代字彙比較少的英文結構相比
多數學者都會認同現代的英文結構比較完整而且單純準確多了....
例如海明威的"老人與海"
語言學家和文學家們對於它有著極高的評價,就是因為準確的用字譴詞,
毫無贅字的流暢文筆
甚至多數學者都說:"如果海明威多校稿一次或少校稿一次,大概就拿不到諾貝爾獎了"

這時候我們再回到程式語言的演進史
說實在這根本沒啥好爭議的
這領域發展至今還不到一百年
所有的紀錄幾乎都明明白白完完整整的被科技工業給記載下來
程式語言的起源和目的就是拿來作"邏輯運算"
整個程式語言的發展過程就是"從低到高""從單純到複雜"
如一開始的機械語言->組合語言->高階語言
正如同 yoco 大所說的
程式語言剛開始的設計,根本不能有過份複雜乃至於模糊不清的語言結構
否則這運算結果會死狀甚慘,完全失去人類對它的依賴--"邏輯計算"
當然程式語言演化到現在的成果已經相當驚人
但它絕大部分環境要求"絕對精準"的特質還是沒變的

"因為計算就是要精準!"

如果我們以音樂語言 藝術語言 建築語言 甚至舞蹈的肢體語言來比較程式語言
那精準度的問題更是明顯
越是精準的下場往往就越不精準(老大哩咧公蝦?!這是射不準定理ㄇ?!)
最明顯的 Discovery 甚至有做過研究
一個用電腦算準節拍所產生的天鵝湖 midi 曲根本完全沒有美感可言
人腦中利用"獨特的sense"所產生的韻律或藝術直覺
往往可以超越電腦的精準度,進而創造出不朽的作品
這就是為何"語言學"常常會伴隨著心理學 生理學 哲學 人類學 型態學等研究產生

所以大概可以知道"程式語言系統"和我們熟知的"正式語言系統"差別在哪
正式的自然語言系統是從一開始的複雜化走向單純化
(語言學 Linguistics 的目標也就是在此,企圖將複雜未知的語言領域...
用接近科學的研究方式,讓它一個個單純的抽離出成分來...)
程式語言系統則相反的是從單純化走向複雜化
簡單來說
這兩種系統目前正在尋找一個平衡點也不為過
許多學者甚至認為

"程式語言根本就是一個全新且獨立的領域,既不屬於語言學也不屬於數學"

我想這應該足夠解釋為何程式語言雖是"一種語言"
但卻和其他各種語言類型都格格不入的原因了

第二個問題.程式語言是一種作為"邏輯計算"功能而產生的"工具"...
那正式的自然語言系統不也是作為"溝通"用的"工具"嗎??

目前的答案是"違!"

這就是語言學領域至今的傲人成就
正式自然語言系統的操作和熟練
是人腦與生俱來的能力
並不是人類先為了溝通..而後才產生語言..
人類本身就知道怎麼利用文明和環境,創造出新的語言系統
目前不論是摹聲說 感嘆說 勞動喊聲說 唱歌說 兒歌兒語說等等的起源假設
都明指出一個事實


"語言創造是人類天賦的一種..."

直至今日
我們各國各族群的人類 仍在不斷創造新的語言
光是台灣今年大學學測時出現的那句"3Q 得 Orz"
就知道人類真的是一種很神奇的生物 ^^b
arrow
arrow
    全站熱搜

    Jzx0614 發表在 痞客邦 留言(0) 人氣()