网站大量收购独家精品文档,联系QQ:2885784924

Google首席Java架构师访谈:选择编程语言就像选择酒吧_IT新闻_博客园.doc

Google首席Java架构师访谈:选择编程语言就像选择酒吧_IT新闻_博客园.doc

  1. 1、本文档共10页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Google首席Java架构师访谈:选择编程语言就像选择酒吧_IT新闻_博客园

Google首席Java架构师访谈:选择编程语言就像选择酒吧_IT新闻_博客园 Google首席Java架构师访谈:选择编程语言就像选择酒吧_IT新闻_博客园 [ 登录 | 注册 ] 博客园首页 | 我的园子 | 知识库 | 新闻 | 招聘 | 问答 程序员找工作有绝招 用闪存记录每天的精彩 反馈问题或建议网站首页 社区首页 新 闻 博 问 小 组 闪 存 网 摘 外语 园子 新闻频道 IT业界 程序员Google首席Java架构师访谈:选择编程语言就像选择酒吧 投递人 itwriter 发布于 2010-11-18 21:57 评论(8) 有2707人阅读 原文链接 [收藏]   文 / Peter Seibel译 / 郝培强   本文是Commmon Lisp专家Peter Seibel对Google公司首席Java架构师Joshua Bloch的访谈,谈到程序员应该看什么书、如何能快速熟悉一种新语言以及为什么说选择编程语言就像选择酒吧。      Seibel:你是怎么开始编程的?   Bloch:我想这是受益于我的家庭影响。我父亲是Brookhaven国家实验室的化学家。当我上小学四年级的时候,他参加了一个程序设计培训班。当然在那个时候,电脑都是放在玻璃窗背后的大型机,你只能把写好的程序卡片交给操作员。虽然没法儿亲自动手,但我还是被电子计算机可以帮助你做事儿这一点震撼了。所以,我在父亲上课的那段时间,跟他学了一点儿Fortran。   Seibel:那大概是哪一年?   Bloch:我想是1971年。直到很多年以后我才真的对程序产生了强烈的兴趣。让我产生兴趣的当然是分时系统。长岛有一台DEC system-10电脑,供Suffolk县内所有的学校使用。Nassau县也有一台。很神奇的是,很多著名人物的事业都是从这两台DEC system-10电脑开始的。   你的程序一旦有交互,就会有Bug。大概是从1973~1976年,那时候我跟其他人一样,在写BASIC程序。我就是从那时开始正式写程序的。你知道吗,我还保存着当年写的程序,是印在电信打印纸上的。如今回头再看这些程序的时候我发现,我代码风格中的某些部分从那个时候起就一直没变过。   Seibel:你还记得你写的第一个有趣的程序是什么吗?   Bloch:噢,我记得那是1977年7月4日,我为经典的二十问游戏写了一个程序,叫“猜动物”。这个程序包含一个二叉树,是非题位于它的内部节点,动物位于它的叶节点上。如果用户所提的动物是叶节点上没有的,它会向用户提出是非题,通过区别新动物和它猜出的错误动物之间的差异来了解新动物。二叉树保存在硬盘上,这样程序可以越来越“聪明”。   我当时想,“天啊,真酷,程序真的能学习。”这是我一生难忘的瞬间。我还记得另一件事。当时我在高中,应该是10年级吧。是关于DEC system-10的。当时不允许我们编写现在叫做即时消息软件的东西,因为它们对系统资源的消耗实在太大了。   Seibel:如果时光能够倒流,可以一切从头来过,有什么东西是你真的希望改变的?Basic对你来说太简单了?其他还有什么?   Bloch:我没什么遗憾的,实际上Basic很有趣。我觉得Dijkstra对Basic的看法是完全错误的。原谅我这么评价已故的人,愿他在天堂安息。我知道很多非常好的程序员,他们是从BASIC编程开始的,因为那是他们能找到的唯一的语言。   然而我觉得使用多种语言是件好事。上大学的时候,我用很多语言编程。每门课都可以用一门语言。在数学课或者理工科课上,应该用Fortran。那时候编程课学的都是Pascal、SAIL、Simula或者类似的东西。在人工智能课上,用LISP。   不过也许我应该学更多的语言。有意思的是,一开始我对面向对象并不感冒,直到那个二十问游戏开发快结束了,我才真正对面向对象有了感觉。严格来说,Java才是我真正使用的第一种面向对象语言,某种程度上是因为我不太想用C++。   Seibel:那是什么时候?   Bloch:那是我1996年加入Sun公司时。我觉得要是我能更早学习这些概念就好了。我不认为这些概念都是好的。面向对象很有意思,它有两层含义。第一,它意味着模块化。模块化是非常好的。但是我不认为这是创造面向对象的人们的专利。你可以去看以前的文献,例如,Parnas关于信息隐藏的论述,就会发现这种概念可以看作面向对象编程中类概念的一种抽象的原型。第二,它意味着继承,我认为继承有利也有弊,这跟如今很多人的使用感受一致。   另外,我应该进入更多的领域,计算机科学领域内外都应涉猎。你学的东西越多,开始得越早,对你越好。我一直没有真正做过的就是GUI编程,在某种程度上说我应该强迫自己做做看。但是由

文档评论(0)

wf93679 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档