所有对事物的认识都始自于我们不愿盲目地接受这个世界 一一艾伦. C.凯
我的父亲是科学家,母亲是艺术家,所以在我童年的家庭氛围中充满了各式各样的想法,以及各种各样表达它们的方式。
我至今也从未把“艺术”和“科学”分开过。 ——艾伦·凯
1940年,艾伦·凯出生在美国的马萨诸塞州 , 凯3岁的时侯学会了阅读,小小的他经常沉醉在书的海洋里。同时他从母亲那儿接受了音乐的熏陶,不仅是学校合唱团的男中音独唱,还会演奏吉他。
那时的他觉得自己未来肯定会成为一位音乐家。后来,他进入美国空军服役,遇到了一个改变命运的契机:通过了计算机编程能力测试,成为了一名程序员,为空军解决各个航空训练设备之间数据和过程(procedure)的传输问题。
这时他发现有个程序员想出了一个聪明的办法,就是把数据和处理数据的过程捆绑到一起发送。
通过这种方式,新设备里的程序就可以直接使用过 程,而不用去了解数据文件的格式。 这种抛开数据、直接操作过程的想法给凯带来了极大的 触动,为他日后形成“对象”的概念埋下了伏笔。
服役结束后,凯先从科罗拉多大学取得了数学和分子生物学的双学位。后来因为对计算机很感兴趣,他最终决定去犹他 州立大学读计算机科学系。读书期间,他一直在寻找某种基 础构件,支持一种简 单、有效的编程风格。这时他的生物学 知识给了他至关重要的灵感。
我的灵感就是把这些(指对象)看做生物学上的细胞。 ——艾伦·凯
1)每个“例”细胞都遵从“主”细胞的某 些基本行为
2)每个细胞都能独立运作,它们之间由能 透过细胞膜的化学信号进行通信
3)细胞会分化---根据环境不同,同一个细 胞可以变成鼻子的细胞,也可以变成眼睛 或者脚趾甲的细胞
这已经是提出面向对象思想 的黎明时分了!!!
预测未来的最好办法,就是把它创造出来。 一一艾伦. C.凯
1971 年夏天,艾伦.凯负责设计一种新的语言,名字叫做 Smalltalk Smalltalk的设计确实与生物学上的类比相吻合:
相互独立的个体(细胞)通过发送讯息彼此交流。每一条讯息都包含了数据、发送者地址、接收者地址, 以及有关接收者如何对数据实施操作的指令。
凯希望把这种简单的讯息机制贯彻到整个语言中去,这些想法组成了“面向对象”的核心内容 。面向对象在20世纪90年代变成了软件设计的基本方法与技术! 它更贴近人类思维的特点!
艾伦.凯的观点:
1. “预测未来的最佳方式就是去创造它”
2. “愿景重于目标”
3. “我把对象想象成生物细胞或者和网络上的单个计算机,它 们之间只能通过消息进行通讯”-- 作为微生物学家背景
4. 每个对象可以有多个代数与之关联,这些代数关系可以构成 家族,而这些概念会非常非常有用 --作为数学家背景
5. 他提倡应该关注消息机制和模块间的松耦合和交互,而不是 模块内部的对象组成:
6. 做出非凡和可成长的系统的重中之重是设计好模块之间如何通讯, 而不是模块应具有什么样的内部属性和行为方法