作者godfat (godfat 真常)
看板Ruby
標題Re: [連結] 松本行弘: Code 的世界~成為超級程式設 …
時間Mon Jul 27 15:45:12 2009
※ 引述《ericyu (Eric)》之銘言:
: 5. 關於 Ajax
: 6. 關於 Ruby on Rails
滿好奇 Matz 對於 Ajax 和 Rails 有什麼看法,
一方面是 Rails 有些東西後來有加到 Ruby 裡面,
例如 Symbol#to_proc 等等...
不過有些時候,Rails 反客為主,有時候會覺得怪怪的
: 7. 關於文字編碼
Ruby 1.9 的 encoding 機制,我個人是覺得還挺瘋狂的
除了在 string 裡面附上 encoding 資訊外,
也有 compatible encoding 的機制,例如 US-ASCII 跟
UTF-8 接在一起,最後會產生 UTF-8. 但 US-ASCII 跟
BIG5 接在一起,最後會產生 BIG5. BIG5 跟 UTF-8, 則產生 UTF-8
再加上 default_internal, default_external, 超複雜...
: 8. 關於 regular expression
這跟上面也有關,所以... 更複雜
: 11. 關於程式的安全性
除了以往的 tainted? 外,1.9 又加上 untrusted?
老實講這兩樣東西我還真不知道要怎麼用 @@
: 12. 關於處理時間的程式
有關 TimeZone 也是個很大的議題,這我也不是很熟悉
: 13. 關於資料永續性 (persistency?)
之前有在討論要不要在 ruby std lib 裡面加入 database?
目前是還在討論中。我個人是覺得加入 database 有點太多,
應該盡量避免核心太過於肥大。但是 marshal 則是必須的,
然而 marshal 有版本問題,這部份希望可以由 ruby core 解決...
: 14. 關於 functional programming (等)
我個人認為 ruby 確實有一點 functional programming 的味道,
不過距離真的漂亮的 fp, 還有一段滿長的路就是了
在 ruby 1.9 中加入了 Proc#curry, 如果這是 Matz 的喜好,
那或許可以期待日後 ruby 更加 functional 一些。
正好我可以找到他當時的那句話:
"I consider this method (Proc#curry) to be trivial and should be
treated like an Easter egg for functional programming kids."
: Amazon 上面只有一篇評論,翻譯一下重點:
: 作者有很多程式語言的知識,特別是 Lisp...
: 作者說「物件導向不是反映現實世界」讓我很安心,因為其他書都寫
: 「物件導向是反映現實世界」,總有些違和感...
這樣的話我有同感,我是物件導向信仰者沒錯,
但越深入去寫,就越不覺得物件導向跟現實世界有什麼關係....
也只不過是一種抽象方法罷了。
: → Schelfaniel:日文版書一般不會太難看懂吧,碰上不行就查字典 @@ 07/27 11
那英文書是不是也是..? XDD
: → Schelfaniel:不過它寫的 Common Lisp 的 Reader Macro 這段, 07/27 11
這是?有沒有什麼 reference?
我知道 ruby 2.0 可能在策劃一些 macro 的東西
不過目前都還沒個樣子出來,似乎
記得 Matz 有說 macro 有點太複雜了
--
By Gamers, For Gamers - from the past Interplay
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 220.128.121.85
推 fcamel:類似感受, 我覺得 OOP 和現實世界相關的說法令人困擾 07/27 20:49
→ fcamel:讓人誤以為 OOP 直覺易寫, 卻寫出一堆不OO的怪異程式 07/27 20:49
修錯字
※ 編輯: godfat 來自: 220.135.28.18 (07/27 21:43)
→ godfat:沒錯,想套自然界,結果會出現奇怪的程式... 07/27 21:43
推 zusocfc:有時候Rails反客為主倒也會方便到其他開發人員才是 08/03 12:07
→ godfat:方便到不是很熟悉 ruby 的人,自然,可以少關心一件事 08/03 16:15
推 buganini:現實世界 也只不過是一種抽象方法罷了。 08/08 08:11
→ godfat:有趣的說法 XD 不過我覺得應該說是有不同的解釋方法哩 08/08 18:15