中存储的信息来计算方แ法体的地址这个过程将在第7章中详述。在这里ã,
编程思想》第三版,并且只用一行代码就可以做更多的事。这段代码使用在对象
应该努力学习的榜样。根据这一小段代
为了执,这样,
易于表达所带来的另一个ฐ好处就是易于维护,维护如果报告可信的话。这意味着当你编写代码时,
你是在用问题空间的术语“将垫圈放进盒子中”而不是计算机,也就是解空间的术语“设
置芯片上的一位,表示继电å器将被关闭”来描述解决方案。你可以用更高层的概念来处理
问题,java使用一小段特殊的代码来。他不断ษ精益求精、锐意进取的精神正是我们
,在表达问题的能ม力上显得更强。如果程序易于理解,那ว么它必定易于维护。这也降ä,同时。
通过类库得到最大的支持
创建程序最快捷的方式就是使用已经编写好的代码:类库。这是通过将类库转型为新า的数据类型类来实现的。jaທva的主ว要目标之一就是要使类
库更易于á,因此,引入类库意味
着在语言中添加了新的数据类型。因为javaທ编译器会留แ意类库的使用方式——确保正确的
初始化和垃圾回收,并保证其方法被正确调用,因此,你只需专注于你想让类库做些什么,
而不必关心应如何去做。
错误处理
在cນ语言中,错误处理一直是一个声名狼籍的问题,而且经常被忽视——经常只能靠上帝
保佑了。如果你在构建一个大型的、复杂的程序,那么没有什么比在程序某处暗藏了一个错
误,而你却没有任何能够暗示ิ它在何处的线索ิ更糟糕的事情了。java异常处理ex9
handling便是一种能够确保错误必须报告,而且必须有所动作作为其响应的机制。
大型程序设计
许多传统语言在程序大小和复杂度方แ面都有内置的限制。例如,bຘasic可能对某类问题地
解决能ม力非常强,可以快地创น建解决方案,但是如果程序长度过数页,或者出该语言
正常的题域之外,它就会像“在非常粘稠的液体中ณ游泳”。没有明确的界线来表示ิ何时你所
使用的语言会导致最终的失败,即使有这样的界线,你也会忽视它。你总不能说:“我的
baທsic程序太大了,我不得不用c来重写它!”相反,你会试着将几行代码硬塞进去,以便
在程序中增加新า功能。因此,不知不觉中,你就付出了额外的开销。
java具备编写大型程序的能力——也就是说,它消除了小型程序和大型程序之间的复杂度界
线。在编写“hello,9orld”风格的小应用程序时,你当然不必使用oop,但是当你需要用
到时,这些功能随手可得。而且,对小型程序和大型程序,编译器都会一视同仁地、积极地
找出因bug而产生的错误。
java与cນ++ใ
javaທ看起来很像c++ใ,因此,很自然地,看起来c+ใ+将会被java取代。但是我开始怀疑ທ这
种逻辑了。c+ใ+仍然有某些功能是java不具备的,尽管关于java终有一日会与c++一样快,
甚至更快的承诺层出不穷,我们也看到เ了java在稳步地提高,但是至今并没有什么เ令人瞩
目的突破。而且,人们对c++ใ仍持续地保持着兴趣,因此我不认为c++会在近期内消亡。
所有的编程语言看起来都不会永远地消亡。
于是我开始考虑:java的能ม力适用的战场与c+ใ+ใ的稍有不同,c++并不会去尝试为某类问题
量身订造。当然,它也采用了大量的方法来解决各种特定问题。某些cນ+ใ+工具结合了类库、
构件模型和代码生成工ื具,以解决开视窗型终端用户应用微软9indo9๗s应用过程中的
问题。然而,绝大多数9indo9s应用的开者使用的是什么呢?是微软的visuaທlbasicvb,
尽管vb所产生的代码在程序仅仅只有几页长的情况下就已经变得难以管理了而且其语法
也肯定让人迷惑不解。虽然vb如此成功、如此流行,它却不是一个很好的语言设计范例。
如果能够在拥有vb的简易性及其强大威แ力的同时,而又不会产生难以管理的代码,那该有
多好啊。这正是我认为jaທva终会光芒四散的原因所在:它会是下一个ฐvb
8
。你可能ม