最早的MVC语言smalltalk
来源:互联网 发布:淘宝开店 被买家骚扰 编辑:程序博客网 时间:2024/05/18 06:43
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开发平台的主流。
- 最早的MVC语言smalltalk
- Smalltalk语言
- Design Patterns in Smalltalk MVC 在Smalltalk的MVC设计模式
- Smalltalk的变量
- 最早接触到的计算机编程语言——c语言
- smalltalk
- smalltalk
- smalltalk与面向对象语言及发展史。
- 《设计模式——可复用面向对象软件的基础》学习笔记(1.2)Design patterns in Smalltalk MVC
- 最早的Tangram预览
- 最早的Tangram预览
- 最早的Tangram预览
- 最早的计算机病毒
- 最早的二次方程
- 最早的微积分原型
- 最早的棋盘游戏
- 最早的计算工具
- 最早的几个域名
- python变量前加*号的含义
- MFC自定义消息的简单实现
- Linux下build和使用rabbitmq-c
- reactor/proactor模型简介
- python程序关键路径测试
- 最早的MVC语言smalltalk
- Camera driver&V4L2驱动架构介绍
- 输入一个整形数组,求所有子数组的和的最大值
- DELETE 删除性能优化
- myeclipse 与 sql server 2005 连接 若干问题《一》请使用支持 JDBC 4.0 的 sqljdbc4.jar 类库
- Tomcat启用Gzip压缩功能
- 新浪微博、腾讯微博、人人网授权连接
- Linux 定时器的使用
- Call to undefined function mysql_connect()