The best way to predict the future is to invent it,预测未来最好的方法是创造它!
The best way to predict the future is to invent it,预测未来最好的方法是创造它!
——Smalltalk发明人Alan Kay
“预测未来的最好方法,就是把它创造出来”这是天才大师阿伦凯的名言,他是Smalltalk面向对象编程环境语言的发明人之一,也是面向对象编程思想的创始人之一,他还是笔记本电脑最早的构想者和现代Windows GUI的最初尝试者。
阿伦是个超智商儿童,三岁就能阅读,五岁便会自学,等上小学的时候,已经读了数百本书了。随着年龄的增长,阿伦的求知欲变得更加旺盛,阿伦回忆说,“学校里充斥着一种观点:老师的观点或者是教科书的观点,除此之外,再无其他,这是很荒唐的。”
1961年,因为出面维护犹太移民,阿伦被迫从就读的西佛吉尼亚Bathany音乐学院离开,辗转来到丹佛,以教授吉他为生,生活潦倒。直到他参加志愿服役后,参加的一项计算机编程潜在能力测试改变了命运:阿伦发现自己在计算机领域的才能。后来,他来到美国中部的犹他州研读电子电气工程师课程。让阿伦来到犹他的主要原因是当时创新性的编程语言SketchPad语言的创始人爱尔文苏珊兰德在此执教。在名师指点和自己刻苦钻研下,阿伦充分借鉴了其他编程语言的长处,还从自己过去的分子生物学中汲取了有益养分,创立了“生物类比”理论。阿伦在其论文中写道:“我假定未来理想的计算机能够具备生物组织一样的功能,每个‘细胞’能够独立运作,也能与其他功能一起完成复杂的目标。‘细胞’能够相互重组,以解决问题或者完成功能。”
1968年夏天,阿伦遇到麻省理工人工智能实验室的负责人西摩潘博得,开始对Logo语言发生兴趣:“当我在实验室里看到,西摩和他的同事正在教一群小孩子学习使用Logo语言时,我脑海中整个对社会的认识观念都发生了动摇。计算机编程真的可以改变我们的生活,创造新的未来。”在西摩的实验室里,阿伦还看到了最原始的手写识别系统。这个系统让他欣喜若狂,阿伦对友人这样说:“把手写识别应用到计算机上,我能创造出一种超媒体——就像现在的报纸,但它是电子化的。”在这种思路的基础上,阿伦设想出作为现代笔记本电脑原型的“Dynabook”。
1969年,阿伦获得犹他州立大学计算机科学博士学位,随后服务于斯坦福大学人工智能实验室,任教授一职。教学工作之余,阿伦开始思考,如何使庞大的计算机变得更小,比如像书那么大。这种PC对儿童来说会很方便,他们可以用它来代替纸。阿伦把这种新型PC称为“KiddieKomp”,由于这种PC需要一种新的语言,逾时阿伦便设计出了后来名震业界的Smalltalk语言。Smalltalk语言再现了阿伦的“分子PC思想”:程序好比一个个生物分子,通过信息相互连接。Smalltalk被业界公认为“面向对象编程系列语言”的代表作品。
1972年,阿伦任职于施乐帕洛阿尔托研究中心。他开始实验应用Smalltalk语言于儿童教育。研究中心招来很多孩子,让他们学习使用电脑,在学习过程中,儿童的种种表现都被记录下来,作为分析研究的素材。阿伦得出结论:较之于文字,儿童通过图像和声音能更好地学习使用PC。他主持领导中心全力抢攻图形化设计这一IT技术的战略制高点。中心研发了简便的PC系统,重点研究图形和动画效果。除了领导中心的研究工作外,阿伦还在笔记本电脑、以太网研究、激光打印和“客户端服务器”网络模式方面颇有建树。但是令人遗憾的是,阿伦想象中的那种“Dynabook“始终没有出现——因为施乐帕洛阿尔托研究中心的管理层不愿意调动资源给一个虚无缥缈的设想。
到了1979年,斯蒂夫乔布斯、杰夫洛金森和其他几个苹果公司的创始人来到施乐帕洛阿尔托中心参观时,发现他们的想法与阿伦不谋而合:当时苹果公司正在设计一种新颖的图形用户界面,乔布斯兴奋地对同事说:“Smalltalk语言灵活、易用,简直就像是为苹果机量身定做的。”因此,可以说不论是微软的Windows操作系统、图形化的Linux,还是苹果,一切图形化的操作界面,都是阿伦当时超前思想的后继者。阿伦是现代计算机业的先驱,他改变了产业的发展方向和人们对计算机的认识。无疑他是现代编程思想及现代PC的缔造者之一。
The best way to predict the future is to invent it,预测未来最好的方法是创造它!的更多相关文章
- python中的future,你见过可以使用未来版本模块的语言吗?
import xxx from yy.xxx import xx from yy.xxx import xx as x python最常见的导包导模块语句 yy为包名,包就是文件夹,模块就是xxx.p ...
- 阿伦 凯 Alan Kay 面向对象编程思想创始人
The best way to predict the future is to invent it. 预测未来最好的办法就是创造它.
- [Erlang 0105] Erlang Resources 小站 2013年1月~6月资讯合集
很多事情要做,一件一件来; Erlang Resources 小站 2013年1月~6月资讯合集,方便检索. 小站地址: http://site.douban.com/204209/ ...
- Nginx入门简介
Nginx入门简介 Nginx 介绍 Nginx (engine x) 是一个高性能的HTTP和反向代理服务,也是一个IMAP/POP3/SMTP服务.Nginx是由伊戈尔·赛索耶夫为俄罗斯访问量第二 ...
- SAP全球企业官孙小群的生活智慧
转自:http://www.programmer.com.cn/15373/ 一下为程序员杂志对孙小群(Xiaoqun Clever)的采访. 最早接触计算机是在高中,那时发现通过一个小小的Basic ...
- Linux简单编程学习心得
在Linux环境下简单编程学习心得 linux编程过程 在上周的<信息安全设计基础>的课程学习中学习到了在虚拟的linux环境下简单的编程.学习过程中接触到了vim.gcc和gcd在实验楼 ...
- July 02nd 2017 Week 27th Sunday
No safe wading in an unknown water. 未知水深浅,涉水有危险. Is this the theory that has been the guideline for ...
- tflearn tensorflow LSTM predict sin function
from __future__ import division, print_function, absolute_import import tflearn import numpy as np i ...
- 线程笔记:Future模式
线程技术可以让我们的程序同时做多件事情,线程的工作模式有很多,常见的一种模式就是处理网站的并发,今天我来说说线程另一种很常见的模式,这个模式和前端里的ajax类似:浏览器一个主线程执行javascri ...
随机推荐
- Xamarin XAML语言教程Progress属性设置进度条进度
Xamarin XAML语言教程Progress属性设置进度条进度 在图12.19~12.21中我们看到的是没有实现加载的进度条,即进度条的当前进度为0,如果开发者想要修改当前进度,可以使用两种方式: ...
- hdu 1599 find the mincost route 最小环
题目链接:HDU - 1599 杭州有N个景区,景区之间有一些双向的路来连接,现在8600想找一条旅游路线,这个路线从A点出发并且最后回到A点,假设经过的路线为V1,V2,....VK,V1,那么必须 ...
- flex skin
原文地址:http://blog.163.com/to_yht/blog/static/1227257742009741359326/当程序做完后,你是否还在为老套的flex组件默认效果发愁?是否还在 ...
- java中终止线程的三种方式
在java中有三种方式可以终止线程.分别为: 1. 使用退出标志,使线程正常退出,也就是当run方法完成后线程终止. 2. 使用stop方法强行终止线程(这个方法不推荐使用,因为stop和sus ...
- MailKit---如何知道文件夹下有多少封未读邮件
如果在mailkit中,文件夹已经选中并打开了的话,那直接使用ImapFolder.Unread属性就可以获取到有多少封未读邮件了. 如果文件夹没有打开,那么你还可以使用查询状态的方法来获取未读状态的 ...
- 常用VBA小技巧
用对话框选取文件路径(单个文件) 删除导入csv等文本文件后留下的 Data connections 增加新的工作表并并命名 Worksheets.Add(After:=Worksheets(Work ...
- word如何修改尾注
两篇处理利用尾注处理参考文献的方式,值得注意. 实用技巧:Word 2003中修改尾注位置http://www.kuqin.com/shuoit/20090422/47316.html Word尾注格 ...
- apache 启动脚本加入系统服务列表
第一步:cp /usr/local/apache2/bin/apachectl /etc/init.d/httpd第二步:vim /etc/init.d/httpd在第一行#!/bin/sh下增加两行 ...
- 五个常用的Linux监控脚本代码
bash中 2>&1 & 的解释 1.首先,bash中0,1,2三个数字分别代表STDIN_FILENO.STDOUT_FILENO.STDERR_FILENO,即标准输入(一般 ...
- Java学习之自动装箱和自动拆箱源码分析
自动装箱(boxing)和自动拆箱(unboxing) 首先了解下Java的四类八种基本数据类型 基本类型 占用空间(Byte) 表示范围 包装器类型 boolean 1/8 true|false ...