[COSCUP2013] Python, F#, Golang and Friends 投影片

Posted by tjwei on 星期一, 8月 05, 2013 with No comments

我這次在 COSCUP 演講的投影片。


[COSCUP2013] Python, F#, Golang and Friends from weijr

當天因為時間改變,差了十分鐘,所以沒有把重點表達完整。

我主要想說的是,大多數想在 Python 做的邏輯流程,你都能直接在 F# 裡面用類似的思考流完成(Scala 也是)。
例外是 F# 中迴圈沒有 break,沒有 return,也沒有多重繼承。但習慣後就知道如何轉換。
反過來, F# 有了一些思考單元,在 Python 中則要被迫展開。
Go 則完全不同,如果你用 Python 的思考方式常常會不容易實作。通常你也不應該這樣做(雖然我之前就這樣做,但能做不表示要做,hack 本來就是要嘗試不該做的事)。
Go 的思考流跟 C 比較像,而且拿 C 的想法來寫 Go 會很輕鬆,因為可以寫得更簡潔。當然原本就是用 C 的想法寫 Python 的人就沒差(用 C++ 想法的人有差,物件導向)。


所以當你只常用一種語言的時候,思考其實是被限制住的。更可怕的是,你根本不會察覺這一點、根本不知道你失去什麼。

就像我在演講中舉的例子, 那些語言中只有絕對方位(東南西北),而沒有相對方位(前後左右)的人,有著絕佳的方位感。
一般語言習慣用相對方位的人,根本不知道自己失去了什麼。
(又如馬戲團被圈住的大象那個故事,或者語言中顏色名稱的種類)
所以不只要追求好的語言,有時甚至要刻意嘗試一些看似無用、怪異語言。
 
Categories: , , ,