当前位置:首页 > 开发 > 编程语言 > 编程 > 正文

smalltalk

发表于: 2012-01-30   作者:bookjovi   来源:转载   浏览次数:
摘要:  本人比较喜欢smalltalk的精简,不像java,关键字太多,type系统繁琐,如(Date date = new Date)。  smalltalk的语言核心极为精简,同时message传递的语义也使编程人员更好的理解OO,任何元素都是Object,不像Java,搞出了8个基本类型。  smalltalk有block,block从函数语言的角度看算是lamb

 本人比较喜欢smalltalk的精简,不像java,关键字太多,type系统繁琐,如(Date date = new Date)。

 smalltalk的语言核心极为精简,同时message传递的语义也使编程人员更好的理解OO,任何元素都是Object,不像Java,搞出了8个基本类型。

 smalltalk有block,block从函数语言的角度看算是lambda(smalltalk设计时借鉴了lisp),似乎Ruby也有block一说,有人说Ruby非常像smalltalk,连reflection的消息都叫inspect。Java8也要有lambda了,哎,java起初参考smalltalk设计时丢到的东西现在又捡回来,所以这充分说明了函数编程的东西是非常有用地。

 

 一般语言都有for/while/if/else控制结构,这些从大学里接触到编程时就刻在脑子里,以为那些控制结构关键字是语言必不可少的语法,在smalltalk这里全部用block实现,精简吧?

 在语言设计这个复杂问题上,《黑客与画家》一书中作者认为语言应该保证language core精简,剩下的用library来补充,lisp和smalltalk是说明这个观点的极好例子。可惜的是smalltalk和lisp的命运一样(smalltalk被java替代),被主流市场抛弃,不过似乎它们的语言设计思想却一直传递了下来。

   smalltalk的reflection应该让java的反射机制哭,看看thisContext吧。

   smalltalk的image设计有点像checkpointing,还像coredump,把所有object state保存到image中,这点java似乎没听说过,java只有java.io.Serializable。

 

smalltalk 80 bluebook: http://stephane.ducasse.free.fr/FreeBooks/BlueBook/Bluebook.pdf

附上gnu-smalltalk的一个英文文章,文章讲的通俗易懂,稍微懂一点OO的人都应该很容易看懂。

 

注:smalltalk对objective-C影响极大,连语法都很相似,Objective-C可是现在Apple开发平台的主流。

smalltalk

  • 0

    开心

    开心

  • 0

    板砖

    板砖

  • 0

    感动

    感动

  • 0

    有用

    有用

  • 0

    疑问

    疑问

  • 0

    难过

    难过

  • 0

    无聊

    无聊

  • 0

    震惊

    震惊

编辑推荐
艾伦·凯与Smalltalk语言 您知道左面挂着图灵奖奖章的人是谁吗?他是世界上第二个面向对象语言——Sm
Tiobe今天发布了2011年4月编程语言排行榜。令人叹息的是本期编程语言排行榜Smalltalk跌出前50名,Sm
版权所有 IT知识库 CopyRight © 2009-2015 IT知识库 IT610.com , All Rights Reserved. 京ICP备09083238号