52ky 发表于 2022-9-23 10:39:30

java联想(中文)

写在前面的话
我的兄弟Todd现在正在进行从硬件到编程领域的工作改变。我曾提醒他下一次大革新的要点将是遗传工程。
我们的微生物技术将能制作食物、燃油和塑料;它们都是清洗的,不会形成污染,并且能使人们进一步透视物理S界的奥妙。我以为相比之下电脑的前进会显得微乎其微。
但随后,我又意识到自己正在犯一些科幻作家常犯的错误:在技术中迷失了(这种办公在科幻小说里常有发作)!如果是一名有经验的作家,就认识必定不能就事论事,有必要以人为中心。遗传对我们的生命有十分大的影响,但不能十分断定它能抹淡计算机革新——或最少信息革新——的影响。信息涉及人相互间的交换:确实,轿车和轮子的打造都十分主要,但它们终究亦如此而已。真实主要的仍是我们与S界的连接,而其间最关键的即是通信。
这本书或许能说明一些问题。很多人以为我有点儿斗胆或许略微部分狂妄,竟然把全面家当都摆到了Web上。“这样做还有谁来买它呢?”他们问。假设我是一个十分保守的人,那么必定不这样干。但我确实不想再沿本来的老路再写一本计算机参考书了。我不认识终究会发作啥办公,但确实以为这是我对一本书作出的最明智的一个决议。
最少有一件事是可以必定的,我们开始向我发送纠错反馈。这是一个令人震惊的体会,因为读者会看到书中的每一个旮旯,并揪出那些隐藏得很深的技术及语法错误。这样一来,和别的以传统方法发行的书不一样,我就能及时改正已知的全面种类的错误,而不是让它们终究印成铅字,毫不隐讳地出现在各位的面前。俗话说,“当局者迷,旁观者清”。我们对书中的错误是十分敏感的,通常毫不客气地指出:“我想这样说是错误的,我的观点是……”。在我细心研究后,通常发现自己确实有不当之处,而这是最初写作时底层没有意识到的(检测多少遍也不行)。我意识到这是集体力气的一个可喜的反映,它使这本书显得确实与众不一样。
但我随之又听到了另一个声响:“好吧,你在那儿放的电子版确实很有构思,但我想要的是从真实的出书社那里打印的一个版本!”事实上,我作出了很多尽力,让它用一般打印机机就能得到很好的阅览效果,但仍然不象真实打印的书那样正规。很多人不想在屏幕上看完整本书,也不喜欢拿着一叠纸阅览。无论打印格式有多么好,这些人喜欢是仍然是真实的“书”(激光打印机的墨盒也太贵了一点)。现在看来,计算机的革新仍未使出书界完全走出传统的模式。可是,有一个学生向我推荐了将来出书的一种模式:书本将首先在互联网上出书,然后只有在必定必要的前提下,才会打印到纸张上。现在,为数众多的书本出售都不十分理想,很多出书社都在赔本。但如选用这种方法出书,就显得灵活得多,也更简单确保获利。
这本书也从另一个观点也给了我深刻的启迪。我刚开始的时候以为Java“只是另一种程序设计言语”。这个主意在很多状况下都是搭建的。但随着时刻的推移,我对它的学习也更加深入,开始意识到它的基本主旨与我见过的别的全面言语都有所区别。
程序设计与对杂乱性的控制有很大的连接:对一个预备管理的问题,它的杂乱程度取决用于管理它的机器的杂乱程度。正是因为这一杂乱性的存在,我们的程序设计项目屡次失败。关于我曾经触摸过的全面编程言语,它们都没能跳过这一框框,由此决议了它们的首要设计方案即是战胜程序开发与维护中的杂乱性。当然,很多言语在设计时就已思考到了杂乱性的问题。但从另一观点看,实践设计时必定会有另一些问题浮现出来,需把它们思考到这个杂乱性的问题里。不可避免地,别的那些问题最终会变成最让程序员头痛的。例如,C++有必要同C坚持向后兼容(使C程序员能尽快地适应新环境),一起又要确保编程的效率。C++在这两个方面都设计得很好,为其赢得了不少的名誉。但它们一起也露出出了额外的杂乱性,阻止了某些项目的成功终结(当然,你可以责怪程序员和管理层,但假设一种言语能通过捕获你的错误而提供帮助,它为啥不那样做呢?)。作为另一个例子,VisualBasic(VB)同最初的BASIC相关的严密的连接。而BASIC并没有方案设计成一种能全面管理问题的言语,所以堆加到VB身上的全面扩展都形成了令人头痛和难于管理和维护的语法。另一方面,C++、VB和别的如Smalltalk之类的言语均在杂乱性的问题上下了一番功夫。由此得到的成果即是,它们在管理特定类型的问题时是十分成功的。
在理解到Java终究的方案是减轻程序员的负担时,我才真实感触到了震憾,尽管它的潜台词好象是说:“除了缩短时刻和减小发作强大代码的难度以外,我们不关心别的任何办公。”在现在这个初级阶段,到达那个方案的成果即是代码不能特别快地运行(尽管有很多确保都说Java终究有一天会运行得多么快),但它确实将开发时刻缩短到令人惊奇的境地——简直只有创建一个等效C++程序一半乃至更短的时刻。这段节下来的时刻可以发作更大的效益,但Java并不仅止于此。它乃至更上一层楼,将主要性越来越显着的全面杂乱命令都封装在内,比如网络程序和多线程管理等等。Java的各种言语特性和库在任何时候都能使那些命令垂手可得终结。并且最终,它管理了一些真实部分难度的杂乱问题:跨方式程序、动态代码转换以及安全维护等等。换在早年,其间任何每一个都能使你头大如斗。所以不管我们见到了啥功能问题,Java的确保仍然是十分有效的:它使程序员明显提高了程序设计的效率!
在我看来,编程效率提高后影响最大的即是Web。网络程序设计曾经十分艰难,而Java使这个问题方便的管理(并且Java也在不断地前进,使管理这类问题变得越来越简单)。网络程序的设计请求我们相互间更有效率地交换,并且最少要比电话通信来得廉价(只是电子函件就为很多企业带来了优点)。随着我们网上通信越来越频繁,令人震惊的办公会渐渐发作,并且它们令人吃惊的程度绝不亚于最初工业革新给人带来的震憾。
在各个方面:创建程序;按方案编制程序;结构用户界面,使程序能与用户交换;在不一样类型的机器上运行程序;以及方便地编写程序,使其能通过因特网通信——Java提高了人与人之间的“通信带宽”。并且我以为通信革新的成果可能并不单单是数量巨大的比特处处传来传去那么简单。我们以为认清真实的革新发作在哪里,因为人和人之间的交换变得更方便了——个别与个别之间,个别与组之间,组与组之间,乃至在星球之间。有人预言下一次大革新的发作即是因为足够多的人和足够多的相互连接形成的,而这种革新是以整个S界为基础发作的。Java可能是、也可能不是促成那次革新的直接要素,但我在这里最少感受自己在做一些有含义的工作——测试教会我们一种主要的言语!
java联想(中文).chm




页: [1]
查看完整版本: java联想(中文)