反思: 原帖题目太大,hold 不住。 其实主要想讲两点体会和一个猜测:
ruby 对传统面向对象编程的挑战
用 ruby 编程,是面向对象的编程吗?
面向对象编程的发展历史: 血统论:起初面向对象编程是以继承为基础,面向对象编程。 党派论:Java 出现后,面向对象编程转向面向接口编程。 能力论:ruby 出现了著名的 Duck Typing 概念,如果它走路来像鸭子,叫声像鸭>子,它就是鸭子。
ruby 的 程序块挑战了面向对象编程的 好莱坞准则:叫我做什么,不要叫我怎么>做。
结论:ruby 是以对象为基层的面向规则的编程