What have you found for these years?

2009-08-09

R: [連結] 松本行弘: Code 的世界~成為...

節錄

┌─────────────────────────────────────┐
│ 文章代碼(AID): #1AVgpaCj (Ruby) [ptt.cc] Re: [連結] 松本行弘: Code 的世? │
│ 文章網址: http://www.ptt.cc/bbs/Ruby/M.1249815780.A.32D.html
│ 這一篇文章值 363 元 │
└─────────────────────────────────────┘

作者 godfat (godfat 真常) 看板 Ruby
標題 Re: [連結] 松本行弘: Code 的世界~成為超級程式設 …
時間 Sun Aug 9 19:02:57 2009
───────────────────────────────────────

※ 引述《ericyu (Eric)》之銘言:
: == 程式語言的重要性 ==
: 因為語言是人類思考的本質。語言會影響說話者的思考。(這裡還提到
: Sapir-Whorf 假說,請見 薩丕爾-沃夫假說

在這本書裡: The Language Instinct
作者嘲弄了這個假說裡的一個範例:

"Steven Pinker in the Language Instinct ridiculed this example,
claiming that this was a failing of human sight rather than language."

quoted from Linguistic relativity

我的解讀是, Pinker 認為思想是在語言之上,人會因語言而有不同的表達,
但不會因為語言而有不同的想法,那多半來自文化或其他環境因素。
也就是說,其實我們有一個「心智語言」,利用這樣的語言來思考,
再將之翻譯成自然語言。打個比方,應該能夠在心中想像一個立方體,
讓他用各種方式翻轉,但這件事是很難用自然語言表達出來的。

anyway, 程式語言和自然語言也差很多就是了,畢竟自然語言可以任意表達,
而我們寫程式確實是會受限於程式語言,我們沒辦法表達超過語言本身能表達的,
就像在不是 Turing complete 的語言上,自然無法表達 Turing complete,
Ruby 如果不呼叫 C, 也沒提供 system call API, 當然也無法做 system call,
而我們自然不會去想用那種方式來解決問題,畢竟本來就是辦不到的事...


: 演算法教科書使用虛擬程式碼來描述演算法,若要實際使用,就要處理類
: 似指定型別這些非本質的部份,而無法集中在演算法的本質部分。

我不是很同意 static typing 算是非本質的問題,
如果我們假設 programmer 絕對不會犯錯,也絕對知道所有的問題,
那或許因為已經不用解決 typing 的問題,因此可以不視為本質問題。

但很多時候,其實我們是需要 static typing 來驗證問題與答案,
也很可能 static typing 最後告訴你,想解決的問題本身是矛盾的。

我覺得 dynamic typing 的好處大概有兩點:

1. 方便
2. polymorphic 有很大的發揮空間

當然這都是相對 static typing 的。


: == 都是為了樂趣 ==

同感 XDDD
以「樂趣」而言,寫到現在還是 Ruby 最高 ~

--
生死去来、棚頭傀儡、一線断時、落落磊磊

《花鏡》-世阿弥

--
※ 發信站: 批踢踢實業坊(ptt.cc)

0 retries:

Post a Comment

All texts are licensed under CC Attribution 3.0