当前位置: 首页 > 编程日记 > 正文

1968年12月9日,恩格尔巴特公开演示了世界上第一个鼠标盒子

鼠标之父”道格拉斯·恩格尔巴特

鼠标之父”道格拉斯·恩格尔巴特

腾讯科技讯,肖华2013年12月19日编译

计算机的几次革命和大规模普及都是始于人机交互的改变,今年7月2日,“鼠标之父”道格拉斯·恩格尔巴特溘然辞世。人们才发现,他的发明远不止鼠标。作为人机交互的先锋,他在图形界面,网络和超文本系统上都作出了卓越的贡献。

二战期间,恩格尔巴特在菲律宾当一名海军无线电技术员。战后,他获得伯克利加州大学电子工程与计算机科学(EECS)的哲学博士学位。留校任教后,一名同事警告他,如果他继续谈论自己关于计算机改变世界的狂热梦想,他永远只能当一名助教。恩格尔巴特于是离开了学校,前往斯坦福研究所(SRI)。

早在二战时,类似鼠标的装置——光笔就曾被用在雷达系统中。1961年,恩格尔巴特决心研制一项更好用的装置。

他和团队进行了很多尝试,比如操纵杆、跟踪球、膝盖控制的指针,甚至是由脚来操作的控制仪——他们叫它“耗子”(rat)。直到恩格尔巴特画出了“显示系统X-Y位置指示器”的草图,再和合作者英格里希一起制作出了原型。

这个有着复杂名字的家伙看起来非常简单:一个木壳子套着两个金属滚轮,两个轮子互相垂直转动,加上一个廉价的塑料开关,通过一根线和电脑相联。

1968年,美国旧金山举行的一场计算机大会上,这位“恩格尔巴特博士”花了一个多小时的时间,向1000多名当时全世界最顶尖的计算机精英,展示自己的创意。他坐在讲台上,用一只鼠标控制电脑,屏幕上出现了多个窗口,他还能通过点击超文本连接网络,与距离会场5万米之外的同事通过视频交谈,成为全世界第一次视频会议。

如今看上去演示中的操作稀疏平常,可是在那个时候,计算机还是个占据一整个房间的庞然大物,人们需要用打孔卡向计算机输入信息,那时候没有鼠标,人们也不知道超文本为何物。那一年世界上还没有微软公司,乔布斯还在上中学。

恩格尔巴特的同事回忆,那时绝大多数人都觉得恩格尔巴特是个“疯子”。

运用“鼠标”这一工具来操作电脑的概念的确非常超前,但它的使用和推广却姗姗来迟。业界普遍认为,1973 年施乐PARC研究中心推出的 Alto 计算机首先使用了鼠标。然而遗憾的是,当时这些系统只是用于实验。直到1983年,乔布斯发布苹果的新机型Lisa时,鼠标才获得大规模的商业成功。由于鼠标专利只有17年的有效期。结果,无论是“鼠标之父”恩格尔巴特,还是拥有专利的斯坦福研究中心,多年来都没有从中得利。

1987年,SRI把鼠标专利卖给苹果公司,赚得4万美元。SRI随即付给恩格尔巴特1万美元的酬劳。这大概是“鼠标之父”从这项发明里获得的唯一一笔收入。

1960年代,恩格尔巴特的实验室开发出政府研究网络ARPANet,促成了互联网的诞生。1962年,恩格尔巴特发表了论文《提升人类智能:一个概念性的框架》,呈现了依靠技术管理信息、帮助人们互相合作来解决世界经济和环境问题的蓝图。不过,当世人纷纷拥抱他的“小老鼠”时,他却发觉政府和企业对他的“提升智能”构想并不买账。

1977年,因为资金枯竭,恩格尔巴特的研究团队被整体出售给Tymshare公司,几年之后又卖给了McDonnell Douglas。

计算机革命直到1990年代初才汹涌而来。彼时,人们如梦方醒,重新认识到恩格尔巴特的贡献。除了鼠标、电子邮件和视频会议外,他还首先提出了多窗口计算机显示器、超级媒体和电子出版等技术思路,被誉为“计算机用户界面设计方案中提出最佳思路之人”。

在加州帕洛阿尔托研究中心的Stuart Card看来,恩格尔巴特不擅长把自己的观念传达给别人,但他的思想之先锋是显而易见的。“对于未来,恩格尔巴特有着深远的思考,而且他还将之变为现实。”

(作者:腾讯科技 肖华 ,原文链接)

转载于:https://www.cnblogs.com/beingonline/p/7509654.html

相关文章:

GPT-3模型为何难以复现?这也许是分布式AI框架的最优设计

作者 | 成诚头图 | 下载于视觉中国2020 年,最轰动的 AI 新闻莫过于 OpenAI 发布的 GPT-3 了。它的1750亿参数量及其在众多NLP任务上超过人类的出众表现让大家坚信:大模型才是未来。但与之带来的问题是,训练超大模型所需的算力、存储已不再是单…

c#中什么情况下用(int)什么情况下用Convert.ToInt32

1.c#中什么情况下用(int)什么情况下用Convert.ToInt32 ? 比如说有一个string型的3 ,要给它转换成int型的是用(int)3 ,还是用Convert.ToInt32(3); 还是两个都可以用,为什么? 解答:这两个都是转换成整型的,只是它们的长度不同。…

困扰多日的C#调用Haskell问题竟然是Windows的一个坑

最近一直被C#调用Haskell时的“尝试读取或写入受保护的内存”问题所困扰(详见C#调用haskell遭遇Attempted to read or write protected memory,C#调用haskell时的“尝试读取或写入受保护的内存”问题),而且困在其中,越…

“移花接木”偷换广告:HTTPS劫匪木马每天打劫200万次网络访问

本文讲的是“移花接木”偷换广告:HTTPS劫匪木马每天打劫200万次网络访问,近年来,国内各大网站逐渐升级为HTTPS加密连接,以防止网站内容被篡改、用户数据被监听。但是一向被认为“安全可靠”的HTTPS加密传输,其实也可以…

Oracle之sqlpluse显示格式

SQL> show linesize; #设置每行显示的字符数 linesize 10000 SQL> show pagesize; #设置每页显示的行数 pagesize 1000 SQL> set linesize 100; SQL> set pagesize 300; SQL> show linesize; linesize 100 SQL> show pagesize; pagesize 300 col 列名 for …

ASP.Net中利用CSS实现多界面两法

通过使页面动态加载不同CSS实现多界面 方法一: <%page language"C#"%> <%import namespace"System.Data"%> <script language"c#" runat"server"> public void page_load(Object obj,EventArgs e) { //创建服务器…

面试90%都会翻车的高可用+高并发+负载均衡架构设计 !

很多人面试的时候被问到一个让人特别手足无措的问题&#xff1a;你的系统如何支撑高并发&#xff1f;对于一个公司而言&#xff0c;“为什么要高可用”关于负载均衡架构设计你了解多少&#xff1f;大多数同学被问到这个问题压根儿没什么思路去回答&#xff0c;不知道从什么地方…

Linux 如何通过命令查看一个文件的某几行(中间几行或最后几行)

linux 如何显示一个文件的某几行(中间几行) 【一】从第3000行开始&#xff0c;显示1000行。即显示3000~3999行 cat filename | tail -n 3000 | head -n 1000 【二】显示1000行到3000行 cat filename | head -n 3000 | tail -n 1000 *注意两种方法的顺序 分解&#xff1a; tail …

PHP更新数据库记录

//更新记录$query"insert into chinachaodai (name,theindex)values (公司,1)";$result$mysqli->query($query);if($result){ echo ("返回行数:".$mysqli->affected_rows);}else{ echo("失败了");}$mysqli->close();

MySQL 用户与授权管理详解

大纲一、前言二、创建用户并授权三、GRANT语句的种类四、撤权并删除用户一、前言做为Mysql数据库管理员管理用户账户&#xff0c;是一件很重要的事&#xff0c;指出哪个用户可以连接服务器&#xff0c;从哪里连接&#xff0c;连接后能做什么。Mysql从3.22.11开始引入两个语句来…

聚焦联机交易分析一体化,巨杉数据库湖仓一体云产品全线升级

2021年5月15日&#xff0c;领先的金融级分布式数据库厂商 SequoiaDB巨杉数据库 举行了2021年春季发布会。在本次发布会中&#xff0c;巨杉数据库基于「湖仓一体」架构&#xff0c;针对不同的业务需求场景细分出全新的产品线。同时进行了最新的SequoiaDB Cloud数据库云平台操作演…

css :after或:before写小三角形

2019独角兽企业重金招聘Python工程师标准>>> .type_form_tab:after {content: ;position: relative;border: 0.3rem solid #d8d8d8;border-color: #d8d8d8 transparent transparent;width: 0;height: 0;top: 0.7rem;left: 0.3rem; }转载于:https://my.oschina.net/d…

C#调用windows api的要点

在.Net Framework SDK文档中&#xff0c;关于调用Windows API的指示比较零散&#xff0c;并且其中稍全面一点的是针对Visual Basic .net讲述的。本文将C#中调用API的要点汇集如下&#xff0c;希望给未在C#中使用过API的朋友一点帮助。另外如果安装了Visual Studio .net的话&…

如何全面认识联邦学习

作者 | 王健宗 李泽远 何安珣来源 | 大数据DT头图 | 下载于视觉中国什么是联邦学习联邦学习是一种带有隐私保护、安全加密技术的分布式机器学习框架&#xff0c;旨在让分散的各参与方在满足不向其他参与者披露隐私数据的前提下&#xff0c;协作进行机器学习的模型训练。经典联邦…

android 各种控件颜色值的设置(使用Drawable,Color)

在Android中&#xff0c;如果需要改变控件默认的颜色&#xff0c;包括值的颜色&#xff0c;需要预先在strings.xml中设置&#xff0c;类似字符串&#xff0c;可以反复调用。Android中颜色可以使用drawable或是color来定义。本例中strings.xml内容&#xff1a;<a href"h…

[20170914]tnsnames.ora的管理.txt

[20170914]tnsnames.ora的管理.txt--//昨天朋友讲tnsnams.ora的内容太长了,而且许多不需要的.管理不方便.我记得以前写[20150409]tnsnames.ora与IFILE.txt.链接--//http://blog.itpub.net/267265/viewspace-1561107/--//这样你可以按照某种分类管理.实际上这个我也是以前看别人…

C# ref和out关键字

ref和out关键字初解参数可以通过引用和值传递给方法。通过引用传递给方法的变量可以有调用它的方法作自由改变&#xff0c;所作的修改会影响原来的变量的值&#xff1b;在C#中&#xff0c;除非特别说明&#xff0c;所有的参数都是值传递。 这是默认情况&#xff0c;也可以使用r…

王炸不断,半导体巨头们到底在打什么牌?

作者 | 马超 责编 | 欧阳姝黎出品 | CSDN博客头图 | 下载于视觉中国最近整个半导体行业实在风起云涌&#xff0c;IBM 推出了 2nm 的芯片&#xff0c;苹果春季发布会上搭载 M1 的 iPad Pro 再度炸场、四月中旬 ARM 推出了新一代的 ARMv9、英特尔也拿出了最的至强三代 Ice Lake-…

什么是软件定义数据中心

近年来&#xff0c;“云计算”已经成为一个被滥用的名称&#xff0c;现在几乎所有的IT公司的项目都用云计算来冠名&#xff0c;似乎贴上了“云”标签&#xff0c;立刻变得高大上起来。提到云计算&#xff0c;很多人第一反应都是&#xff0c;亚马逊的AWS服务&#xff0c;或者谷歌…

React Native常用组件之ListView

1. ListView常用属性 ScrollView 相关属性样式全部继承dataSource ListViewDataSource 设置ListView的数据源initialListSize number 设置ListView组件刚刚加载的时候渲染的列表行数&#xff0c;用这个属性确定首屏或者首页加载的数量&#xff0c;而不是花大量的时间渲染加载很…

Oracle中merge into的使用

http://blog.csdn.net/yuzhic/article/details/1896878 http://blog.csdn.net/macle2010/article/details/5980965 该命令使用一条语句从一个或者多个数据源中完成对表的更新和插入数据. ORACLE 9i 中&#xff0c;使用此命令必须同时指定UPDATE 和INSERT 关键词,ORACLE 10g 做了…

C#运算符资料

☆C#的运算符定义只有四种形式:--------------------------------------- ①public static 返回类型 operator ?(单形参) ②public static 返回类型 operator ?(双形参) ③public static implicit operator 隐转目标类型(单源类型形参) ④public static explicit operator 显…

厉害了,网易伏羲三篇论文上榜 AI 顶会 ACL

近日&#xff0c;国际AI顶尖学术会议ACL 2021&#xff08;Annual Meeting of the Associationfor Computational Linguistics&#xff09;公布了论文录用结果。网易伏羲共有三项研究被本届ACL收录&#xff0c;内容包括自然语言生成、无监督文本表示学习等方向&#xff0c;相关技…

软件架构设计学习总结(1):标准Web系统的架构分层

1、架构体系分层图 在上图中我们描述了Web系统架构中的组成部分。并且给出了每一层常用的技术组件/服务实现。需要注意以下几点&#xff1a; 系统架构是灵活的&#xff0c;根据需求的不同&#xff0c;不一定每一层的技术都需要使用。例如&#xff1a;一些简单的CRM系统可能在产…

iOS 设置UILabel 的内边距

iOS 设置UILabel 的内边距 - (void)drawTextInRect:(CGRect)rect {UIEdgeInsets insets {0, 5, 0, 5};[super drawTextInRect:UIEdgeInsetsInsetRect(rect, insets)]; } 参考&#xff1a;http://stackoverflow.com/questions/3476646/uilabel-text-margin http://unmi.cc/uila…

从程序媛到启明星辰集团云安全总经理,郭春梅博士揭秘云时代安全攻防之道...

从无序中寻找踪迹&#xff0c;从眼前事探索未来。2021 年正值黄金十年新开端&#xff0c;CSDN 以中立技术社区专业、客观的角度&#xff0c;深度探讨中国前沿 IT 技术演进&#xff0c;推出年度重磅企划栏目——「拟合」&#xff0c;通过对话企业技术高管大咖&#xff0c;跟踪报…

javascript 异步实现方案

1、回调函数 fn1( fn2 ); 2、事件监听 fn1.on(done, fn2);function fn1() {setTimeout(function(){fn1.trigger(done);},1000) }3、发布-订阅 &#xff08;1&#xff09;fn2像“信号中心”订阅了done信号Jquery.subscribe("done", fn2);(2) fn1向信号中心发布信…

csc命令帮助

大家还是要常用用csc&#xff0c;个人感觉有时vs有不少不太方便的东西。C:/>csc /help |more Microsoft (R) Visual C# 编译器版本7.00.9254 [CLR version v1.0.2914] 版权所有 (C) Microsoft Corp 2000-2001。保留所有权利。 Visual C# 编译器选项…

利用apache+svn+jenkins+maven 实现java环境的自动化构建和部署(三)(网内首发超详细版)...

3.3 权限配置样例注意&#xff1a;* 权限配置文件中出现的用户名必须已在用户配置文件中定义。* 对权限配置文件的修改立即生效&#xff0c;不必重启svn。用户组格式&#xff1a;[groups] ,其中&#xff0c;1个用户组可以包含1个或多个用户&#xff0c;用户间以逗号分隔。版本库…

Java知识全面总结:并发编程+JVM+设计模式+常用框架+....

本文整理的Java知识体系主要包括基础知识&#xff0c;工具&#xff0c;并发编程&#xff0c;数据结构与算法&#xff0c;数据库&#xff0c;JVM&#xff0c;架构设计&#xff0c;应用框架&#xff0c;中间件&#xff0c;微服务架构&#xff0c;分布式架构等内容。同时也有作为程…