昨天在读到《Programming
Erlang》第8章,开篇点出Erlang是一门纯粹的消息传递风格语言(message passing),我才算是领悟了消息传递。为了这个问题,我还冒昧地去问javaeye上的T1,对这个问题的兴趣是因为SICP第二章以及《失踪的链环》上的介绍。T1给我解答如下:
智能能对象只是消息传递的一种具体应用.消息传递说的更为清晰一些就是一种映射关系或者说映射规则.f:a->b;这个规则可以是任意的。我一直将procedural representations of data,也就是sicp中声称intelligent data objects (智能对象)等价于消息传递, 而其实智能对象仅仅是消息传递的一种具体应用罢了。
消息传递机制通俗地来讲就是类似于马路上到处投递小广告的投递者,它采取的是Send and Pray策略,既不关心消息是否能精确的传送到真正需要消息的接收者,而是以广播的方式把消息发送给所有人,然后通过回馈来确定消息接收者的类型(引 自《失踪的链环》)。因此,动态语言的duct typing是消息传递风格,智能对象是消息传递风格,显然,Erlang的process间的通信机制同样是消息传递风格(Process之间完全通过 send message来进行控制和指示,不确定接收方是否具有处理消息的能力,只有等待reply才能确定)。
再来说说lambda算子理论,推荐下g9老大的lambda算子系列文章,这是开篇《
lambda算子简介1.a》,以及另外一篇《
康托尔、哥德尔、图灵——永恒的金色对角线(rev#2)》。 lambda算子理论是函数式编程的理论基础,通过9条公理就可以推到出一个图灵完备的形式系统,其中的Y combinator的推导简直是魔法(为了表示递归),再次领略了计算理论的魅力。另外,最近读sicp第三章《模块化、对象和状态》,也理解了最初的 面向对象思想来自何处,在引入了内部状态模拟时间变化之后,对象的最初思想也产生了,同时也带来了赋值导致的Side-Effect,而其实这正是动态 OO语言中的对象的理念,通过消息来决定对象的type(ducktyping)。可现代的静态OO语言,在type和clas
之间画上了等号,java里面说一切都是object,其实他想表达的却是一切都是class,通过type来决定消息的分派(message dispatch),导致更多的代码集中在消息分派,而不是真正的计算任务上,可以说静态OO已经偏离原始的对象模型很远。
一点胡思乱想吧,我没有科班经历(大学也没读完!-_-),所有的东西都是自己在学,在摸索,如有理论和常识上的谬误,请不吝赐教,谢谢。
分享到:
相关推荐
实战OO_用例建模 实战OO_用例建模 实战OO_用例建模
oo学习
ABAP OOALV报表开发,定义变量,选择屏幕定义,创建类,调用函数,是学习OOALV很不错的学习资料
C_OO思想编程
OOALV常用功能完整简例,OO ALV常用功能完整简例 - OO ALV 常用功能完整简例(热键单击,双击,帮助,编辑,自定义工具条等)
关于汽车后市场OO创业项目计划书.zip
OO真经—关于面向对象的哲学体系及科学体系的探讨
1、Windows 95/98/Me系统,将oo2core_6_win64.dll复制到C:\Windows\System目录下。 2、Windows NT/2000系统,将oo2core_6_win64.dll复制到C:\WINNT\System32目录下。 3、Windows XP/WIN7/win10系统(64位系统对应...
实战OO_部署与实施 实战OO_部署与实施 实战OO_部署与实施
PPT,需求分析,OO分析前言,PPT,需求分析,OO分析前言,
oracle oo4o 817安装包oracle oo4o 817安装包oracle oo4o 817安装包
利用OO实现ALV , OO是SAP比较新的东西了,应用可能会越来越广
Oracle Objects for OLE (OO4O) is a product designed to allow easy access to data stored in Oracle databases using any programming or scripting language that supports the Microsoft ...
sap abap oo实现alv框可编辑
GO.OO声音模块
SAP ABAP开发学习——第10课:OOALV(视频教程) 1.SAP ABAP开发入门学习 2.含视频教程学习、PPT、作业 3.视频非常清晰
软件工程软考认证,Java与设计模式,下午必考题,24种设计模式
ABAP OO的八个理由
SAP OO ALV技术介绍.pdf
ABAP oo的8个理由 电子书 很多关于ABAP OO方面的文章要么过于抽象,要么举的例子过于简单对于实际应用无关痛痒。本篇文章力图通过简单而又切合实际的例子通过面向过程和面向对象两种模式的比较来说明OO的优点。