打從知道可以寫程式和電腦說話之後,只要有空閒,我就會去學習程式語言。我的朋友很少,想說如果學程式語言的話,至少可以有人(?)陪我聊天...
語言是兩個個體之間溝通的工具。無論是人與人之間,或是人與機器之間,若要互相了解,語言是不可或缺的。為了可以看得懂來自外國的訊息,我們會學習英文、日文,甚至是西班牙文、法文等。(附帶一提,我對阿拉伯文有興趣)為了要讓電腦了解我們需要的幫助,我們使用程式語言來描述我們的願望。無論是哪一種情況,語言都是我們讓對方明瞭自己的意志、願望、甚至是感情的工具。
一個語言可以反映出其使用者的文化,讓我們更加了解以這些語言為母語的人們。例如說,學習過日文的人都知道,日文對於兩性之間,以及階級之間的分別相當明顯。以第一人稱詞(我)來說,有男女通用的「わたし(私)」,女性限定的「あたし」,男生較常使用的「ぼく(僕)」,以及男性限定的「おれ(俺)」。程式語言也一樣。Perl,如大家所知道的一樣,是一個具有強大文字處理能力的程式語言。由shell script演化過來的Perl是我所知道唯一一個把正規表達式包含在語言中的程式語言。
為了解土生土長的台灣,以及源遠流長的中華文化,我學習中文;為了解美國的自由、民主、科學與技術,我學習英文;為了解許多稀奇古怪點子的來源,我學習日文。如果還有時間的話,我還希望可以學習阿拉伯文。我想在學阿拉伯文的過程,我可以稍微看見以前那個幅員廣大的阿拉伯帝國以及鄂圖曼帝國,也可以了解以阿拉伯文撰寫的可蘭經真正的內含吧?
程式語言在一開始是設計給電腦看的,就本質上來說應該缺乏感情,或者說,不太容易看到蘊含豐富感情的程式碼。但如果作者傾注他對這份程式的愛,那麼讀這份程式碼的人也必然可以感受的到這股溫暖而強烈的情感。而作者在寫作程式時所遇到的挫折,也會以各種不同的形式讓讀者們看見。(有看過把怨念直接寫在註解裡的人)
所以呢,學習程式語言對我來說不是駕馭電腦的手段,而是一個讓我更能夠了解電腦的一個管道。交朋友的時候,往往會在了解對方更多之後感情更好;對機器也是一樣,在了解機器之後,你就可以理解他的脾氣,也就可以知道機器不合作的理由,甚至是增進你和機器的合作關係。
有人說,學習不同的自然語言(自然演化出的語言)除了上面所說的好處之外,也有助於大腦的健康。所以我希望可以找時間學習阿拉伯文。我很想了解在這個龍飛鳳舞的文字裡面可以讓我窺見的事情。在程式語言方面,對於haskell的許多特點,我很好奇。所以就決定來學haskell啦!
謹向給予我希望的那位可愛的女神祈求,使我可以逐步的完成我的願望。
沒有留言:
張貼留言