写在前面的话[Java编程]
本文“写在前面的话[Java编程]”是由七道奇为您精心收集,来源于网络转载,文章版权归文章作者所有,本站不对其观点以及内容做任何评价,请读者自行判断,以下是其具体内容:
我的兄弟Todd目前正在举行从硬件到编程范畴的工作改变.我曾提醒他下一次大革命的重点将是遗传工程.
我们的微生物技术将能制造食物、燃油和塑料;它们都是洁净的,不会造成污染,并且能令人类进一步透视物理世界的奥妙.我认为相比之下电脑的进步会显得微不足道.
但随后,我又意识到自己正在犯一些科幻作家常犯的错误:在技术中丢失了(这种事情在科幻小说里常有发生)!假如是一名有经验的作家,就知道绝对不能就事论事,必须以人为中央.遗传对我们的生命有非常大的影响,但不能非常肯定它能抹淡计算机革命——或至少信息革命——的影响.信息触及人彼此间的沟通:的确,汽车和轮子的创造都非常重要,但它们终究亦如此罢了.真正重要的还是我们与世界的关系,而此中最关键的就是通信.
这本书大概能阐明一些问题.很多人认为我有点儿斗胆大概略微有些傲慢,竟然把全部产业都摆到了Web上.“这样做还有谁来买它呢?”他们问.假定我是一个非常保守的人,那么绝对不这样干.但我确切不想再沿本来的老路再写一本计算机参考书了.我不知道终究会发生什么事情,但的确认为这是我对一本书作出的最明智的一个决意.
至少有一件事是可以必定的,人们开始向我发送纠错反馈.这是一个令人震惊的体验,因为读者会看到书中的每一个角落,并揪出那些藏匿得很深的技术及语法错误.这样一来,和其他以传统方法发行的书差别,我就可以及时改正已知的全部类别的错误,而不是让它们终究印成铅字,堂而皇之地呈目前各位的眼前.俗话说,“当局者迷,傍观者清”.人们对书中的错误是非常敏感的,常常毫不客气地指出:“我想这样说是错误的,我的见解是……”.在我细心研究后,常常发现自己确切有不当之处,而这是当初写作时根本没有意识到的(查抄多少遍也不行).我意识到这是群体力气的一个可喜的反映,它使这本书显得的确与众差别.
但我随之又听到了另一个声音:“好吧,你在那儿放的电子版的确很有创意,但我想要的是从真正的出版社那边印刷的一个版本!”事实上,我作出了很多勤奋,让它用普通打印机机就可以得到很好的阅读效果,但仍旧不象真正印刷的书那样正规.很多人不想在屏幕上看完好本书,也不喜好拿着一叠纸阅读.无论打印格局有多么好,这些人喜好是仍旧是真正的“书”(激光打印机的墨盒也太贵了一点).目前看来,计算机的革命仍未使出版界完好走出传统的情势.但是,有一个学生向我举荐了将来出版的一种情势:书籍将首先在互联网上出版,然后只有在绝对必要的前提下,才会印刷到纸张上.目前,为数众多的书籍贩卖都不非常抱负,很多出版社都在亏本.但如采取这种方法出版,就显得机动得多,也更简单保证获利.
这本书也从另一个角度也给了我深化的启迪.我刚开始的时刻认为Java“只是另一种程序计划语言”.这个设法在很多情形下都是成立的.但随着时间的推移,我对它的学习也越发深化,开始意识到它的基本目标与我见过的其他全部语言都有所辨别.
程序计划与对复杂性的操控有很大的关系:对一个预备办理的问题,它的复杂程度取决用于办理它的机械的复杂程度.恰是由于这一复杂性的存在,我们的程序计划项目屡屡失利.关于我从前接触过的全部编程语言,它们都没能跳过这一框框,由此决意了它们的主要计划目标就是降服程序开辟与保护中的复杂性.当然,很多语言在计划时就已考虑到了复杂性的问题.但从另一角度看,实际计划时必定会有另一些问题表现出来,需把它们考虑到这个复杂性的问题里.不可避免地,其他那些问题最后会变成最让程序员头痛的.比方,C++必须同C保持向后兼容(使C程序员能尽快地适应新环境),同时又要保证编程的效率.C++在这两个方面都计划得很好,为其博得了不少的名誉.但它们同时也表暴露了额外的复杂性,阻碍了某些项目的成功实现(当然,你可以斥责程序员和管理层,但假定一种语言能通过捕捉你的错误而供应帮忙,它为什么不那样做呢?).作为另一个例子,Visual Basic(VB)同当初的BASIC有关的精密的接洽.而BASIC并没有打算计划成一种能全面办理问题的语言,所以堆加到VB身上的全部扩大都造成了令人头痛和难于管理和保护的语法.另一方面,C++、VB和其他如Smalltalk之类的语言均在复杂性的问题上下了一番工夫.由此得到的后果就是,它们在办理特定范例的问题时是非常成功的.
在理解到Java终究的目标是减轻程序员的负担时,我才真正感遭到了震憾,固然它的潜台词好象是说:“除了缩短时间和减小产生结实代码的难度以外,我们不关心其他任何事情.”在目前这个初级阶段,到达那个目标的后果就是代码不能分外快地运行(固然有很多保证都说Java毕竟有一天会运行得多么快),但它确切将开辟时间缩短到令人惊奇的地步——几近只有成立一个等效C++程序一半乃至更短的时间.这段节俭下来的时间可以产生更大的效益,但Java并不但止于此.它乃至更上一层楼,将重要性越来越明显的一切复杂任务都封装在内,比方网络程序和多线程处理等等.Java的各种语言特点和库在任什么时刻候都能使那些任务轻而易举完成.并且最后,它办理了一些真正有些难度的复杂问题:跨平台程序、动态代码改换以及安全保护等等.换在早年,此中任何每一个都能使你头大如斗.所以不管我们见到了什么性能问题,Java的保证仍旧是非常有效的:它使程序员明显提高了程序计划的效率!
在我看来,编程效率晋升后影响最大的就是Web.网络程序计划从前非常艰难,而Java使这个问题迎刃而解(并且Java也在不断地进步,使办理这类问题变得越来越简单).网络程序的计划要求我们彼此间更有效率地沟通,并且至少要比电话通信来得便宜(仅仅电子信件就为很多公司带来了好处).随着我们网上通信越来越频繁,令人震惊的事情会渐渐发生,并且它们令人吃惊的程度毫不亚于当初产业革命给人带来的震憾.
在各个方面:成立程序;按筹划编制程序;构造用户界面,使程序能与用户沟通;在差别范例的机械上运路程序;以及便利地编写程序,使其能通过因特网通信——Java提高了人与人之间的“通信带宽”.并且我认为通信革命的后果大概并不但单是数目宏大的比特处处传来传去那么简单.我们认为认清真正的革命发生在那边,因为人和人之间的交流变得更便利了——个体与个体之间,个体与组之间,组与组之间,乃至在星球之间.有人预言下一次大革命的发生就是由于充足多的人和充足多的彼此衔接造成的,而这种革命是以整个世界为底子发生的.Java大概是、也大概不是促成那次革命的直接因素,但我在这里至少感受自己在做一些有意义的工作——尝试教会大家一种重要的语言!
以上是“写在前面的话[Java编程]”的内容,如果你对以上该文章内容感兴趣,你可以看看七道奇为您推荐以下文章:
本文地址: | 与您的QQ/BBS好友分享! |
- ·上一篇文章:通过承当扩大接口
- ·下一篇文章:<b>java承当和finalize()</b>
- ·中查找“写在前面的话”更多相关内容
- ·中查找“写在前面的话”更多相关内容