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,预测未来最好的方法是创造它!的更多相关文章

  1. python中的future,你见过可以使用未来版本模块的语言吗?

    import xxx from yy.xxx import xx from yy.xxx import xx as x python最常见的导包导模块语句 yy为包名,包就是文件夹,模块就是xxx.p ...

  2. 阿伦 凯 Alan Kay 面向对象编程思想创始人

    The best way to predict the future is to invent it. 预测未来最好的办法就是创造它.

  3. [Erlang 0105] Erlang Resources 小站 2013年1月~6月资讯合集

    很多事情要做,一件一件来; Erlang Resources 小站 2013年1月~6月资讯合集,方便检索.      小站地址: http://site.douban.com/204209/     ...

  4. Nginx入门简介

    Nginx入门简介 Nginx 介绍 Nginx (engine x) 是一个高性能的HTTP和反向代理服务,也是一个IMAP/POP3/SMTP服务.Nginx是由伊戈尔·赛索耶夫为俄罗斯访问量第二 ...

  5. SAP全球企业官孙小群的生活智慧

    转自:http://www.programmer.com.cn/15373/ 一下为程序员杂志对孙小群(Xiaoqun Clever)的采访. 最早接触计算机是在高中,那时发现通过一个小小的Basic ...

  6. Linux简单编程学习心得

    在Linux环境下简单编程学习心得 linux编程过程 在上周的<信息安全设计基础>的课程学习中学习到了在虚拟的linux环境下简单的编程.学习过程中接触到了vim.gcc和gcd在实验楼 ...

  7. July 02nd 2017 Week 27th Sunday

    No safe wading in an unknown water. 未知水深浅,涉水有危险. Is this the theory that has been the guideline for ...

  8. tflearn tensorflow LSTM predict sin function

    from __future__ import division, print_function, absolute_import import tflearn import numpy as np i ...

  9. 线程笔记:Future模式

    线程技术可以让我们的程序同时做多件事情,线程的工作模式有很多,常见的一种模式就是处理网站的并发,今天我来说说线程另一种很常见的模式,这个模式和前端里的ajax类似:浏览器一个主线程执行javascri ...

随机推荐

  1. Codeforces Round #503 (by SIS, Div. 2) C. Elections(枚举,暴力)

    原文地址 C. Elections time limit per test 2 seconds memory limit per test 256 megabytes input standard i ...

  2. 每天一个Linux命令(10)cp命令

    cp命令用来将一个或多个源文件或者目录复制到指定的目的文件或目录.它可以将单个源文件复制成一个指定文件名的具体的文件或一个已经存在的目录下.cp命令还支持同时复制多个文件,当一次复制多个文件时,目标文 ...

  3. linux命令和工具

    环境搭建 lnmp环境搭建 命令 uname -a 查看linux版本 lsof -i:80 查看端口被那个程序占用 lsof -p pid号 查看引用的文件 netstat -apn|grep 80 ...

  4. Vue之$set使用

    背景 后端参与前端开发的小白,在开发过程中遇到了如下情况:当vue的data里边声明或者已经赋值过的对象或者数组(数组里边的值是对象)时,向对象中添加新的属性,如果更新此属性的值,是不会更新视图的. ...

  5. C语言基础之scanf函数的使用

    0.自己实际遇到的坑 Mac下如果用标准键盘,使用scanf输入时不能用小键盘上的回车,否则系统不能很好的识别. 1.scanf函数的基本使用 1: // 定义一个变量,用来保存用户输入的整数 2: ...

  6. IE8兼容性问题

    由于业务的需要,我们竟然还要支持IE8,听着就让人很心酸呀.不过在进行适配的过程中,会发现还是有一定规律的,基本上帮相关问题改了,页面也就能正常显示了.下面就总结下对IE8适配过程中所进行的修改. 1 ...

  7. [置顶] kubernetes--应用程序健康检查

    K8S的应用程序健康检查分为livenessProbe和readinessProbe,两者相似,但两者存在着一些区别. livenessProbe在服务运行过程中检查应用程序是否运行正常,不正常将杀掉 ...

  8. python核心编程学习记录之多线程编程

  9. textureView

    textureView是用来访问texture的一部分的 cubemap 和 mipmap会用到这个 for(face =0;face<6;face++) setrendertarget(tex ...

  10. jstl fn:replace替换换行符

    textarea输入换行符后应该是'\n',在div中展示时替换成'<br>' 找到一种方法用jsp标签 jstl fn:replace方法 使用fn:replace方法之前 先要把jst ...