科技: 人物 企业 技术 IT业 TMT
科普: 自然 科学 科幻 宇宙 科学家
通信: 历史 技术 手机 词典 3G馆
索引: 分类 推荐 专题 热点 排行榜
互联网: 广告 营销 政务 游戏 google
新媒体: 社交 博客 学者 人物 传播学
新思想: 网站 新书 新知 新词 思想家
图书馆: 文化 商业 管理 经济 期刊
网络文化: 社会 红人 黑客 治理 亚文化
创业百科: VC 词典 指南 案例 创业史
前沿科技: 清洁 绿色 纳米 生物 环保
知识产权: 盗版 共享 学人 法规 著作
用户名: 密码: 注册 忘记密码?
    创建新词条
科技百科
  • 人气指数: 9506 次
  • 编辑次数: 2 次 历史版本
  • 更新时间: 2010-09-08
方兴东
方兴东
发短消息
蓝色森林
蓝色森林
发短消息
相关词条
汤姆·惠勒
汤姆·惠勒
爱德华·斯诺登
爱德华·斯诺登
沃尔特·莫斯伯格
沃尔特·莫斯伯格
理查德·沃尔曼
理查德·沃尔曼
理查德·沃曼
理查德·沃曼
艾米·韦伯
艾米·韦伯
杰夫·迪恩
杰夫·迪恩
迈克·罗杰斯
迈克·罗杰斯
纳德·霍普尔
纳德·霍普尔
法迪·切哈德
法迪·切哈德
推荐词条
希拉里二度竞选
希拉里二度竞选
《互联网百科系列》
《互联网百科系列》
《黑客百科》
《黑客百科》
《网络舆情百科》
《网络舆情百科》
《网络治理百科》
《网络治理百科》
《硅谷百科》
《硅谷百科》
2017年特斯拉
2017年特斯拉
MIT黑客全纪录
MIT黑客全纪录
桑达尔·皮查伊
桑达尔·皮查伊
阿里双十一成交额
阿里双十一成交额
最新词条

热门标签

微博侠 数字营销2011年度总结 政务微博元年 2011微博十大事件 美国十大创业孵化器 盘点美国导师型创业孵化器 盘点导师型创业孵化器 TechStars 智能电视大战前夜 竞争型国企 公益型国企 2011央视经济年度人物 Rhianna Pratchett 莱恩娜·普莱契 Zynga与Facebook关系 Zynga盈利危机 2010年手机社交游戏行业分析报告 游戏奖励 主流手机游戏公司运营表现 主流手机游戏公司运营对比数据 创建游戏原型 正反馈现象 易用性设计增强游戏体验 易用性设计 《The Sims Social》社交亮 心理生理学与游戏 Kixeye Storm8 Storm8公司 女性玩家营销策略 休闲游戏的创新性 游戏运营的数据分析 社交游戏分析学常见术语 游戏运营数据解析 iPad风行美国校园 iPad终结传统教科书 游戏平衡性 成长类型及情感元素 鸿蒙国际 云骗钱 2011年政务微博报告 《2011年政务微博报告》 方正产业图谱 方正改制考 通信企业属公益型国企 善用玩家作弊行为 手机游戏传播 每用户平均收入 ARPU值 ARPU 游戏授权三面观 游戏设计所运用的化学原理 iOS应用人性化界面设计原则 硬核游戏 硬核社交游戏 生物测量法研究玩家 全球移动用户 用户研究三部曲 Tagged转型故事 Tagged Instagram火爆的3大原因 全球第四大社交网络Badoo Badoo 2011年最迅猛的20大创业公司 病毒式传播功能支持的游戏设计 病毒式传播功能 美国社交游戏虚拟商品收益 Flipboard改变阅读 盘点10大最难iPhone游戏 移动应用设计7大主流趋势 成功的设计文件十个要点 游戏设计文件 应用内置付费功能 内置付费功能 IAP功能 IAP IAP模式 游戏易用性测试 生理心理游戏评估 游戏化游戏 全美社交游戏规模 美国社交游戏市场 全球平板电脑出货量 Facebook虚拟商品收益 Facebook全球广告营收 Facebook广告营收 失败游戏设计的数宗罪名 休闲游戏设计要点 玩游戏可提高认知能力 玩游戏与认知能力 全球游戏广告 独立开发者提高工作效率的100个要点 Facebook亚洲用户 免费游戏的10种创收模式 人类大脑可下载 2012年最值得期待的20位硅谷企业家 做空中概股的幕后黑手 做空中概股幕后黑手 苹果2013营收 Playfish社交游戏架构

 Michael Lesk(lesk@acm.org)
    Michael是数字图书馆先导研究(DLI)中IIS计划负责人,ACM的主要成员,都柏林顾问委员会成员,NCSTRL工作组主席。他还在国家科学基金会信息与智能系统部担任指挥,并兼任伦敦大学计算机科学系访问学者和哈佛大学图书馆访问委员。Michael Lesk还为C编写了一个可移植的I/O库,后来成为ANSI C标准I/O库的基础。
   Michael具有很强的计算机开发能力,在研究领域中的活动非常活跃,他除了负责DLI中IIS计划外,还参与了许多国际性的先导研究工作。他曾参与过SMART工程的开发,并在Bellcore管理过一个科研小组,还与康内尔OCLCACS以及CAS一起合作开发过一个大型化学信息系统——CORE工程。目前他主要从事一些特殊信息系统应用的研究工作,其中大多是与地理(一个控制方向的系统)和字典(一个消除文中语义歧义的系统)相关的。1994年,他荣获了Usenix颁发给他的“光辉”奖。
    Michael的作品数量很多,其中许多都是与计算机开发方面的内容相关。代表性专著是《实用的数字图书馆:书,字节和结构》,该书解释了数字图书馆建设过程中经常会遇到的一些问题,是一本很具有实用性的著作。
    个人主页:http://lesk.com/mlesk/
目录

简介编辑本段回目录

Michael E. Lesk is an American computer programmer.

In the 1960s, Michael Lesk worked for the SMART project, wrote much of its retrieval code and did many of the retrieval experiments, as well as obtaining a PhD in Chemical Physics. In the 1970s, he worked at Bell Labs, in the group that built Unix. Lesk wrote Unix tools for word processing (tbl, refer, and the standard ms macro package, all for troff), compiling (lex), and networking (uucp), as well as the Portable I/O Library, the predecessor to stdio.h in C.
In the 1980s, Lesk worked on specific information systems applications, mostly with geography (a system for driving directions) and dictionaries (a system for disambiguating words in context), as well as running a research group at Bellcore (now Telcordia Technologies).

In the 1990s, Lesk worked on a large chemical information system, the CORE project, with Cornell, OCLC, ACS and CAS.

At the National Science Foundation, he administrated the Digital Library Initiative phase 1 (DLI-1, 1994–1997), which provided funding for Stanford University's research project in search engines that led to the foundation of Google. From 1998 to 2002, Lesk headed NSF's Division of Information and Intelligent Systems. Currently, he is on the faculty of the Library and Information Science Department, SC&I (School of Communication & Information), Rutgers University.
Lesk received the Flame award for lifetime achievement from Usenix in 1994, is a Fellow of the ACM, and in 2005 was elected to the National Academy of Engineering.

参与C语言发展编辑本段回目录

值得简要总结在今天的C的发展中,那些直接贡献者们在语言发展史中的脚色。Ken Thompson在11969-70年创造了B;它直接继承自Martin Richards的BCPL。Dennis Ritchie在1971-73年把B转化为C,保持B的大部分语法,但添加了类型和许多其它改变,并编写了第一个编译器。Ritchie, Alan Snyder, Steven C. Johnson, Michael Lesk和Thompson在1972-1977年间贡献了语言设计思想,Johnson的可移植编译器被广泛使用。在这段时期内,库例程集合得到相当发展,感谢这些人们和贝尔实验室其它许多人。在1978年,Brian Kernighan和Ritchie写作了多年被当作语言定义的那本书。在1983年初,ANSI X3J11委员会标准化了C语言。特别值得注意的是委员会官员Jim Brodie, Tom Plum和P. J. Plauger,和后续草案标准编辑Larry Rosler和Dave Prosser的努力。 我感谢Brian Kernighan, Doug McIlroy, Dave Prosser, Peter Nelson, Rob Pike, Ken Thompson和编程语言历史会议负责人员对准备这篇文章的建议。 
C初生
在语言取名之后,其它改变很快在进行,例如引入||和&&操作符。在BCPL和B中,表达式求值依赖于上下文:if和其它条件语句内,把一个表达式的值与零比较,这些语言对与(&)和或(or)运算符会给与特别解释。在普通上下文中,它们进行按位运算,但在这个B语句中 
    if (e1 & e2) ...

编译器必须对e1求值并且如果它是非零值,对e2求值,并且如果它也是非零,则执行依赖if的语句。在e1和e2内的&和|运算符的求值要求,以此类推。此类真值上下文中的布尔运算符的短路(short-circuit)语义被期望,但是运算符的过度使用,难以解释和运用。在Alan Snyder的建议下,我提出&&和||运算符,以使这种机制更直接。 
它们姗姗来迟的出现,说明了C语言中不合适的优先级规则。一个人在B中这样写 

    if (a==b & c) ...

来检测是否a和a相等并且c是否非零;在这样的条件表达式中,&比==的优先级低就好得多。在从B转变为C时,一个人想在这中表达式中,用&&代替&;为了使这种转换不那么痛苦,我们决定保持&运算符与==有相等的优先级,仅仅把&&的优先级与&的做了细微区分。今天,看起来变动&和==的相对优先级会更好,这样就能简化一个C通用的惯用法:为了测试一个掩码值和另一个值,人们必须这样写 
    if ((a&mask) == b) ...

那个内层的圆括弧是需要的,但会被容易忘记。 
许多其它改变发生在1972-3年,但是最重要的是引入了预处理器,部分是因为Alan Snyder[Snyder 74]的催促,但也是为了承认在BCPL和PL/I中已存在的文件包含机制。它的原始版本极之简单,仅提供文件包含和简单字符串替换:#include和参数化宏#define。之后很快对它进行了扩展,主要是Mike Lesk的工作,后来是John Reiser,合并了宏与参数还有条件编译。预处理原本是做为语言本身的一个辅助手段。确实,这么多年来,它甚至未被调用除非在源文件的开始处包含了一个特别信号。这种看法一直持续,解释了在早期参考手册中,预处理器语法与语言其它部分的不完整整合,和对它的不精确描述。 

可移植性
在1973年早些时候,现代C的基础部分已经完成。在那年夏天,语言和编译器已足够强壮,以允许我们在PDP-11上用C重写Unix内核。(Thompson已用C的早期版本,作了一个生成系统代码的简略尝试——在结构类型出现之前——1972年时,但是放弃了那次努力。) 也是在这段时期,编译器被转向了其它临近的机器,特别是Honeywell 635和IBM 360/370;因为语言不能独自存在,现代库原型已被开发。特别是Lesk写了一个后来被修改成为C的“标准I/O”例程的“可移植I/O包”[Lesk 72]。在1978年,Brian Kernighan和我出版了C程序设计语言[Kernighan 78]。尽管这本书没有描述一些添加的,在后来变成通用的特性,它充当了语言标准,直到一个正式的标准在十多年后被采纳。尽管我们在本书上关系密切,在工作中有着很明显的区别:Kernighan编写几乎所有的解释性的内容,我负责参考手册中包含的附录,和与Unix系统的接口的那一章。 
在1973-1980年间,语言又有了一些发展:类型结构有了unsigned, long, union和枚举类型,并且结构几乎成为第一类对象(缺少一个字面值符号)。在它的环境和其它伴随技术中,也产生了同等重要的发展。用C编写Unix内核,让我们对语言的有用性、效率有足够的信心,我们开始重新编码系统的应用程序和工具,并且随后把其中最有趣的东西移到其它平台。像在[Johnson 78a]中描述的那样,我们发现传播Unix工具的最困难的问题,并不在C语言和新硬件的接口,而是在适应其它操作系统上的现有软件。因此Steve Johnson开始了在pcc上的工作,一个可被容易移植到新机器上去的C编译器[Johnson 78b],在他,Thompson和我开始把Unix系统移到Interdata 8/32计算机的时候。 

语言在这时期的改变,特别是1977年左右,很大程度上集中在可移植性和类型安全的考虑,是为了努力处理我们预见和观察到的,在相当多的代码移到新的Interdate平台产生的问题。C在那时仍表现很强的无类型根源的迹象。例如,在早期语言手册或存在的代码中,指针很少被与整型内存索引区分开来;字符指针的算术特性和无符号整数的相似性,使抵制识别它们的尝试很难。无符号类型被添加进来使无符号算术有效,不让它与指针操作混淆在一起。类似地,早期语言容许了整数与指针间的赋值,但这个实践并未开始得到鼓励;一个类型转换的符号(在Algol 68的例子中被称作“casts”)被发明,以更明显指示类型转换。由于PL/I例子的诱惑,早期C没有强烈绑定结构指针与它们所指向的结构,并且允许程序员用pointer->member而几乎不用考虑指针的类型;这样的表达式未受批判地,被当作到指针代表的内存区的引用,成员名字仅表示一个偏移量和一个类型。 

尽管K&R第一版描述了,把C的类型结构带到当前形式的大部分规则,许多用旧式、更松散风格写的程序也被允许,所以编译器也要忍受它们。为了鼓励人们更多注意正式的语言规则,为了发现合法但不可信任的写法,以及帮助发现分离编译中,简单机制没有察觉的不匹配的接口,Steve Johnson改变他的pcc编译器产生了lint[Johnson 79b],来扫描一批文件并标记可疑的写法。 

相关链接编辑本段回目录

参考文献编辑本段回目录

http://en.wikipedia.org/wiki/Mike_Lesk
http://blog.sina.com.cn/s/blog_4d02754101008y19.html

→如果您认为本词条还有待完善,请 编辑词条

词条内容仅供参考,如果您需要解决具体问题
(尤其在法律、医学等领域),建议您咨询相关领域专业人士。
0

标签: Michael Lesk

收藏到: Favorites  

同义词: Michael E. Lesk,Mike Lesk

关于本词条的评论 (共0条)发表评论>>

对词条发表评论

评论长度最大为200个字符。