java编程思想_中文完整版.pdf


beplayapp体育下载分类:bepaly下载苹果 | 页数:约949页 举报非法beplayapp体育下载有奖
1 / 949
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该beplayapp体育下载所得收入归上传者、原创者。
  • 3.下载的beplayapp体育下载,不会出现我们的网址水印。
1 / 949
beplayapp体育下载列表 beplayapp体育下载介绍
前言
我的兄弟托德正准备从硬件工业转移到程序设计领域,我曾向他建议,下一次技术革命的重
点将是基因工程。
我们将使用微生物来制造食品﹑燃料和塑料;这些微生物不仅能清除污染,还能让我们付出
比现有少得多的代价就能主宰整个物质世界。我曾以为,相比之下计算机革命将显得微不足
道。
后来我意识到自己犯了科幻小说家常犯的错误:迷信技术的力量(当然,这在科幻小说里司
空见惯)。有经验的作家都知道,故事的重点不是技术,而在于人。基因工程将对我们的生
活造成深远的影响,但它未必就会使计算机革命(或者至少是信息革命)黯然失色,因为正
是计算机技术推动了基因工程的发展。信息指的是人与人之间的沟通。当然,汽车、鞋子、
包括基因疗法,这些都很重要,但它们最终都只是表面现象。人类如何与世界相处才是问题
的本质。这个相处的过程就是沟通。
本书恰好就是一个例子。很多人认为我很大胆、或者有点狂妄,因为我把所有资料都放在网
络上。“还有谁会购买呢?”他们这样问。如果我的性格保守谨慎一些,我就不会这么做。但
是我真的不想再用传统方式来编写一本新的计算机书籍。我不知道这么做会有什么后果,但
结果表明,这是我在写书经历中做过的最明智的一件事。
首先,人们开始把改正后的意见反馈给我。这是个令人惊叹的过程,因为人们仔细检查每个
角落、每个缝隙,找出技术上和语法上的种种问题,让我得以改正所有错误,而这些错误单
凭我个人是很难觉察到的。人们对这种作法还有些顾虑,他们常常说“我并无冒犯之意…”,
然后扔给我一大堆错误。无疑我自己从未察觉过这些错误。我很喜欢这种集体参与的过程,
这也使这本书更加特别。这些反馈很有价值,所以我使用称为“BackTalk”的系统创建了一
些应用,来对这些建议进行收集和分类。
但是,很快我就开始听到“嗯,很好。把书做成电子版放到网络上是个好主意,可是我希望
购买印刷出版并装订成册的书籍”。我曾经作出努力,让每个人都能很容易地打印出美观的
书籍,但这样仍然无法满足人们对印刷书籍的需求。大多数人都不****惯在计算机屏幕上阅读
整本书,也不喜欢总是带着一捆捆的纸,所以即使这些打印出来的书籍再美观,也吸引不了
他们(而且激光打印机的碳粉并不便宜)。看来即使是计算机革命,也难以抢走出版商的生
意。不过,有个学生提出这也许会在未来成为一种出版模式:先在网络上出版书籍,当它引
起足够的关注以后,才考虑制作纸质版本。目前,绝大多数书籍都不赚钱,这种新方式或许
可以给整个出版业带来更多的利润。
在另一方面,这本书也带给我一些启迪。开始,我认为 Java“只不过是另一种程序设计语言”。
从许多方面看的确如此。但随着时间流逝,以及对 Java 学****的深入,我才开始明白,这个
编程语言的目的,与我所见过的其它语言根本不同。
程序设计就是对复杂度的管理。它包括:待解问题的复杂度和所依赖的底层机器的复杂度。
正是因为这种复杂度的存在,导致了大多数项目的失败。并且据我所知,还没有哪个程序设
计语言全力将主要设计目标放在“征服程序开发与维护过程中的种种复杂度”上1。当然,许
多编程语言设计时也确实考虑到了复杂度问题,但它总是与被视为更本质的问题混在一起。
当然,那些也都是会让程序员感到困扰的问题。比如,C++必须向上兼容于C(为使C程序
员容易过渡),并具有执行效率高的优点。这两点都很有用,并且帮助C++取得了成功。
不过,两者也引入了额外的复杂度,使得某些项目无法完成。(当然,你可以归咎于开发或
管理人员,但如果有某种语言可以帮助我们找到错误,何乐而不为呢?)Visual Basic(VB)
是另一个例子,它被局限于BASIC语言(它并不把可扩展能力作为设计目标),这就使得
所有堆积于VB 之上的扩充功能,都造成了可怕且难以维护的语法。Perl 也向上兼容于
Awk、Sed、Grep、以及其它 Unix工具,这就导致了被诟病为“能写不能读”的程序代码(也
就是说,一段时间之后,你就无法看懂这些代码)。另一方面,C++、VB、Perl、Smalltalk
之类的编程语言,都为复杂度问题付出了相当大的努力,在解决特定类型问题的时候非常成
功。
当我开始理解 Java 之后,印象最深的莫过在 Java 上体现出的 Sun 公司的设计目标:为
程序员降低复杂度。就好象说:“我们关注的是降低编写健壮代码的困难程度和需要的时间”。
以前,编写健壮代码将导致性能降低(尽管有许多承诺,Java 总有一天能够执行得足够快),
不过 Java 的确大大缩短了开发时间;相比同等功能的 C++ 程序,它只需一半甚至更少的
时间。只凭这一点,就足以省下大量的时间与金钱。不过,Java 并不仅仅如此。它又持续

java编程思想_中文完整版 来自beplayapp体育下载www.apt-nc.com转载请标明出处.

非法内容举报中心
beplayapp体育下载信息
  • 页数949
  • 收藏数0收藏
  • 顶次数0
  • 上传人陈晓翠
  • 文件大小0 KB
  • 时间2011-11-06