l

2012年4月2日 星期一

語言多樣性

March 26 15:49~16:55

螢幕快照 2012-03-26 下午4.54.28

前天在ted.com看到一場短短十分鐘但卻很有趣的演講,題目叫做Don't insist on English。講者是Patricia Ryan,一位在波灣地區待了三十年的英文老師。講者拋出一個議題:「世界獨尊英語的結果, 是否會阻礙其他語言傳播優秀的想法?」講者認為這個世界應該要保持語言的多樣性,讓以不同語言紀錄與傳達的知識可以各自發展並相互交流。這個觀念與保持生物多樣性的想法很像,因為當一種生物消失在世界上之後,就再也救不回來了(姑且不論或許N年之後可以用生物工程的方法複製絕種的生物),這是一種極大的損失。例如,也許未來某種奇怪的疾病可以從某種生物身上得到治療的線索,但是一旦生物絕種了,這樣的可能性將隨著生物的滅絕永遠消失在世上。暫且不論這種「從人類利益出發」的思考模式是否正確,但是不可否認的維持生物多樣性的確是很重要的一個課題。

同樣的,當一個語言不再被使用之後,原本這個語言所能描述的知識與故事也跟著消失了。不懂這個語言的人,永遠也不可能知道自己遺失了什麼。當人們遇到問題的時候,語言提供了一個思考的機制。當人們在自己的語言中無法得到任何想法時,思考的過程便會卡住了。藉由講不同語言的人士互相合作,語言的多樣性也提供另一種解決問題的途徑。看到這邊鄉民們可能會說,沒有一個共通的語言要如何溝通?講者提到溝通的問題可以藉由翻譯來解決。

以前Teddy不懂為什麼政府要花金錢來倡導大家說母語(是為了選票?),總是認為生命有限應該是把時間花在「最有用的」英語上面啊。看完這個演講之後覺得投入資源在保持語言多樣性上還是很值得做的一件事。

***

Teddy學會的第一個程式語言的Pascal,當時覺得Pascal好好用喔,於是下定決心要好好的把這個程式語言給學好。不料沒多久又學了C,赫然發現C比Pascal強太多了,應用範圍又廣,所以再次下定決心要把C給學好。學了一陣子之後又發現C++好像比C還好要,不但具備C原本的能力,還支援物件導向。就是它了,第三度下定決心這輩子只要好好把C++學好就行了。

老天耶總是愛開玩笑,幾年後又遇到Java,怎麼有這麼「美」的語言啊,記憶體不用自己管,又支援multi-threaded程式設計,還可以寫Applet。就是Java了,Teddy這輩子應該不用再學其他語言了。事情當然不是笨蛋想的那麼簡單,因為一些奇奇怪怪的因素Teddy還是又學了好幾個程式語言。不只是學,在工作中也實際應用了這些程式語言。原來程式語言只是一種人與電腦的溝通工具,對某一種語言很熟,理論上可以幫助自己「快速」用自己熟悉的語言驗證一些觀念,或是寫出需要的軟體。但是聽完Patricia Ryan女士的演講,Teddy有感而發也要反思相同的問題:「獨尊某種程式語言的結果, 是否會阻礙其他程式語言傳播優秀的想法?

這幾年如雨後春筍般所出現的一狗票程式語言,往壞的方面想對開發人員而言好像增加很多學習的困擾(每個都想學但卻沒有一個學得好)。往好的方向想,開發人員多了很多解決問題的「思考工具」。就算是開發團隊因為簡化開發流程與維護問題的考量,在實際的產品開發中只選用少數一兩個程式語言,但這並不表示鄉民們不能從其他的語言中獲得解決問題的靈感,然後再將這樣的靈感「翻譯」成自己熟知的語言最後實作出系統。

***

多年前Teddy在讀The Pragmatic Programmer: From Journeyman to Master這本書的時候,記得書中有建議每個程式設計師每一年都應該要學習一種新的程式語言,以增加自己解決問題的視野。這是一個很棒的建議,但Teddy從來沒有做到…Orz。各位年輕有為的鄉民們不妨把每年學習一種新的程式語言當作「定期定額」買基金一樣,本金加上複利相信十年之後鄉民們解決問題的工具與能力必定大增。

***

友藏內心獨白:一年學一個程式語言,那來的時間看海綿寶寶啊?

沒有留言:

張貼留言