?本人比较喜欢smalltalk的精简,不像java,关键字太多,type系统繁琐,如(Date date = new Date)。
?smalltalk的语言核心极为精简,同时message传递的语义也使编程人员更好的理解OO,任何元素都是Object,不像Java,搞出了8个基本类型。
?smalltalk有block,block从函数语言的角度看算是lambda,似乎Ruby也有block一说,有人说Ruby非常像smalltalk。
?一般语言都有for/while/if/else控制结构,这些从大学里接触到编程时就刻在脑子里,以为那些控制结构关键字是语言必不可少的语法,在smalltalk这里全部用block实现,精简吧?
?在语言设计这个复杂问题上,《黑客与画家》一书中作者认为语言应该保证language core精简,剩下的用library来补充,lisp和smalltalk是说明这个观点的极好例子。可惜的是smalltalk和lisp的命运一样(smalltalk被java替代),被主流市场抛弃,不过似乎它们的语言设计思想却一直传递了下来。
?
附上gnu-smalltalk的一个英文文章,文章讲的通俗易懂,稍微懂一点OO的人都应该很容易看懂。
?