Sunday, November 29, 2009

Learning Scheme

以後每個星期來看一回SICP好了。看了一回,雖然英文聽得霧煞煞,但還是有很大的收穫。

裡頭的講者說話鏗鏘有力,毫不拖泥帶水,想想上大學以來上過的那些課,大概只有有機化學和演算法兩門課的老師能夠相比了。

---

電腦科學其實一點也不科學,甚至也不怎麼電腦。電腦反而比較像是研究用的工具,而研究的目的,並非獲得告訴你事實的declarative knowledge,而是如何告訴你如何做的imperative knowledge。換言之,電腦科學關注的是做事的方法,還有思考的方法。透過程式語言,我們可以精確地描述出做某件事的方法,然後在電腦上實做出來。

也許再過幾十年,一些新型態的電腦會冒出來,甚至連生物體也能當作電腦來使用,然後每件困難的事都會有已知的最佳解法......到時人類的智慧透過電腦與電腦科學的延伸,達到的境界一定不是現在能想像出來的。人類也許能夠在電腦中創造出一個與現在環境相差無幾的世界來,然後成為該世界的造物主,又或者人類可以創造出心目中理想的世界出來......我們所知的現實世界,與創造出來的虛擬世界,其界線將會變得非常模糊。而當我們腦袋中的程式能移植到機器上和其他生物體上時,人和動物、人和機械的的分野也會變得無法辨識。到時候,世界究竟會變成什麼樣子呢?我們這些"原始的人類",又將如何自處?

扯遠了。

---

至於練習的環境,目前有emacs的*scratch* buffer (press ctrl+x ctrl+e to evaluate),還有Guile,其中前者的語法與影片中的有所出入 (elisp != scheme) (define -> defun),而後者提供interactive mode,還可以寫script,相當方便。

附上影片結尾,用遞迴求平方根範例。

Sunday, November 22, 2009

雜感

1.

有時候真的很難判斷一些事情。當下的情境、情緒,開心的、惱人的,都會影響當時的判斷,而所謂的判斷,換句話說,也就是提前為未來設想罷了,怎樣比較好,怎樣比較壞,都是未來的事。

所以會有很多難過、後悔的事。事後回想起來,都會很訝異自己當時的決定,殊不知當時是完全陷進去的,陷進去那種情緒,陷入負擔與解脫的掙扎中。然而情緒只是一時,來得快去得也快,若無法克服當時的情緒,傷害對自己、對別人都會更深。

當你焦慮的時候,請記住,束縛你思考的不是真正重要的事,那些只是情緒。

2.

人生變數甚多,條件什麼的都是沒辦法完全設定好的,然而自己採取的態度是可以決定的。

也許你人生的主軸是政治,也許你人生的主軸是學問、藝術,這都無妨,但請記住:人最重要,尤其是你愛的人。

Thursday, November 5, 2009