收藏 分享(赏)

Java长存!12个Java长久占居主要地位的原因 .doc

上传人:dzzj200808 文档编号:2257528 上传时间:2018-09-07 格式:DOC 页数:7 大小:406KB
下载 相关 举报
Java长存!12个Java长久占居主要地位的原因 .doc_第1页
第1页 / 共7页
Java长存!12个Java长久占居主要地位的原因 .doc_第2页
第2页 / 共7页
Java长存!12个Java长久占居主要地位的原因 .doc_第3页
第3页 / 共7页
Java长存!12个Java长久占居主要地位的原因 .doc_第4页
第4页 / 共7页
Java长存!12个Java长久占居主要地位的原因 .doc_第5页
第5页 / 共7页
点击查看更多>>
资源描述

1、Java 长存!12 个 Java 长久占居主要地位的原因 我们很容易就会遗忘那些曾经在猿群中大热而又被各种新技术掩盖直至堙灭的技术的价值。就拿 COBOL这个老猿们当年所用的神器来说,就跟条死鱼一样被现代猿基本这么形容:没价值,腥臭,过时了,对你没好处。Java 作为现代猿的中坚力量在这点上可能会成为下一个 COBOL。有关 JAVA 的技术卖出多少本书已经是一个很久远的记忆了。现处中年时期的 Java 语言的用途已经不再出现在各种杂志的封面上了。JAVA 从出生到现在已经 19 年了,应用开发圈已经开始绕着那些更有吸引力的如“Node.js”,“Objective-C“,“Dart“,“G

2、o“ 等等类似的新技术转圈了。Java? 那是 Web 1.0时代的一个传说吧?从 D 网站的招聘信息你就可以知道押宝在哪。跟 iOS 相关的开发有 2500 左右的招聘,Java 则有 17000 多个。Dice 的数据不一定能完美的衡量技术的价值,但是在不断推陈出新的技术推广压力下,Java 职位是 iOS 的 7 倍之多可以说确实是神器了。也许,相比把私人开发 App 的收入的 30%分给 Apple 并期盼(更多的是等死)你的 App 有一天爬上了 Top 25List,Java 开发可能会给你一个更好的商业计划。但是实际上,Java 一直都要面对一个比怎么玩鸟砸猪还要大的问题。那就是

3、如何在任意平台上建立统一平台并流畅运行的问题。这样服务端程序猿,客户端程序猿,嵌入式程序猿所面对的那些平台不统一的问题都得到了解决。在我们忘记 Java 在计算机行业里所扮演的角色和做出的那些卓越贡献前,这里有 12 个绝对的理由来告诉你 Java 不但不会和 COBOL 一样被堙灭,并且在其后时代中更加壮大。换句话说:别说这是 Java 的逆袭,Java 一直就在,并且其地位无法撼动。Java 持续占据主导地位的关键原因,第 1 位:在政治(通常手段低劣 )斗争中不屈不挠开始时,技术界从来没认为 Java 会成功,因为它的对手太多而且都是“土豪” 。尽管如此,Java 还是繁荣发展起来。那些

4、诧异 Java 仍然存在的人们,一定是花了太多时间听那些对 Java 怀恨在心的人,而没有花时间去理解为什么 Java 会成功。微软是 Java 第一个面对的强大对手,因为那时 MS-DOS 提供了通用性,而微软看到 Java 是此通用性最具可能性的替代者。Redmond 从一开始就对 Java 恶评不断,从每个可能方面与其斗争(译注,Redmond,雷德蒙德,是微软总部所在地,此处代指微软公司)。在桌面应用方向,Java 从来没有找它需要的发展推动力,部分是因为强大的 Java 虚拟机启动时需要花费太长时间。尽管有些启动延时,Java 应用在 Window 平台上还是可用的。由于一些不明原因

5、,Steve Jobs(译注,史蒂夫乔布斯)从来没接收过 Java,即使是在 Mac 被除了Adobe 之外所有人忽视的年代。Java 的兼容性可以带来很多有用的代码,但是 Apple 一直未把 Java 视作第一选择。(的确,iOS 智能手机比起我用的 Android 更流畅,所以也许 Steve 是对的。)Java 内部的很多斗争也给它带来了巨大痛苦。IBM 喜欢 Java,但是一直在和 Sun 斗争。IBM 将其开发的优秀的 IDE 工具称为“Eclipse”的决定,一直没被 Sun 的人员欣然接受。 Sun 也从来没像 IBM 那样深刻理解商业领域。尽管这些原因,尽管 Java 创造者

6、也在 Java 发展中有许多失策之处,Java 依然快速壮大,在服务器应用领域如鱼得水,硕果累累,在桌面应用领域满足基本业务需求。所有技术都需要在政治湍流中前行,但是 Java 走的更难也更远,证明了,通常,Java 对许多应用都是一个优良选择。Java 持续占据主导地位的关键原因,第 2 点:线程的魔力Java 虚拟机的强项之一是多线程控制。JVM 针对大型多核机上跑数百线程的稳定性做了极佳的优化。这也是为什么其他语言会为了能跑在 JVM 上面搞出交叉编译器和模拟器。Java 的这个能力同时也吸引了很多高流量的网站。他们可以在台式机上搞开发然后丢到服务器上让JVM 发挥出多核的功效。Ruby

7、 因为语法的简洁和源码可读性好成为了 Java 目前的一个对手。但是当性能成为瓶颈时,Ruby 开发人员转到了 JRuby,一个用 Java 模拟出来的 Ruby 环境并增强了高负载下的线程处理能力。Sun 的老猿们在细节上的处理让 JRuby 大受欢迎。(译注:好像多数人都是写完 Ruby 程序然后用JRuby 打成 war 丢服务器上)Java 持续占据主导地位的关键原因,第 3 点:Java 是初学者的语言宗教,军队和国家兴旺都离不开对国人少年时期的洗脑。作为大学 AP 计算机课程(译注:高中生可修并计入大学学分的课程。由美国大学理事会提供,就是负责美国 SAT 的那个机构)意味着很多学

8、生第一次接触到的计算机语言就是 Java。由于这个先入为主的原因,当他们学习其他新的语言时,他们会反观 Java 的优点和缺点,就算大部分转行学其他语言了虽然大部分学生修完课程就把 Java 丢一边了但是他们在思考的时候仍会受到 Java 的影响。Java 作为一个教学语言是有它的原因的。有些幼猿不喜欢声明数据类型,认为好像有人让你穿个背带裤又要系皮带一样是多此一举的行为。这个看上去可能比较抽象,但是为了能让幼猿们理解计算机的一些原理,这是一个很好的方法。让幼猿在写代码的时候声明数据类型,然后编译器会告诉他们数据类型不匹配而无法编译时可以让他们更好的理解计算机的底层原理。一些所谓时髦的语言已经

9、摒弃了花括号,因为他们觉得维护它们很麻烦。这也许是对的,但是花括号对那些新手是非常有用的,因为这能帮助他们理解嵌套的代码块。花括号帮助新人拆解所有的嵌套。有些人想努力推广他们自己的语言,在大多数情况下,他们心爱的语言更自由,并没有像 java 那么多的限制和规则。他们有一个非常好的想法,但是他们忽略了这么一个事实,就是越简单,越干净的语法会在后期开发中出现明显的问题。一些人觉得这种“穿个背带裤又要系皮带 ”方式让人窒息,但是 java 在一开始就推动更好的编程习惯。当新手经过好的训练后,他们就可以处理这种自由和危险的编程方式了。Java 持续占据主导地位的关键原因,第 4 位:跨平台兼容性(已

10、经很接近了)虽然 Java 并不是第一个提供跨平台兼容能力的语言,但是 Java 已经成为最受欢迎的(跨平台语言)。这并不是说 Java 是完美的缺少的一个库或者一个版本不匹配的库都会导致程序崩溃。你也不能把使用最新的 JRE 1.7 编译的需要使用大量内存的桌面程序放到一台 Java ME 手机上运行。Java 并不是那么兼容。但是 Sun 以及现在的 Oracle 已经为程序可以跨平台使用做了最大的努力。当程序(不能在多个平台上)使用时,(导致这些问题的)原因通常是可以弄懂的。如果你使用合适的 Java 版本,并且确保有足够的内存,那么,(程序)一般可以正常工作。Java 程序员可以使用他

11、们的桌面开发工具进行编码,并部署到目标设备,可能是一台手机或者一台服务器。如果编译器包含了正确的库并且使用了正确的版本,代码就可以运行。这是一个很可贵的(特性)。Java 持续占据主导地位的关键原因,第 5 位:在小芯片上的持续成功Java 也许从没有在桌面领域造就过大型的应用程序,但它却在移动世界中找到了一片温床 这是一个爆发了的细分市场。Android 平台从上到下都是基于 Java 构建起来的,并且它如今的销量轻易的超过了 iPhone。这一霸主地位并不是新晋的。JAVA ME 作为精简版的语言和 VM 已经被广泛应用在许多所谓功能手机之上,那些智能手机在全世界的数量也几乎数以百亿计。当

12、你将它们都混合到一起,Java 的优势是就是惊人的。Java 持续占据主导地位的关键原因,第 6 位:蓝光(Blu-ray)Java 曾经被称为“Oak” ,是为机顶盒而设计的语言,Sun 想在占据此市场。事情没有完全按照计划发展,但是 Java 却在“ 客厅”中找到了合适的位置。蓝光标准是围绕 Java 建立的,任何想在蓝光光碟中添加额外内容的人,必须得到其 Javac 编译器版本。蓝光光碟不止限于存放视频内容。那些额外特性和交互工具可以使用纯 Java 代码修改并增强。蓝光光碟是压缩后的视频和压缩后的 Java 字节码的混合。使用蓝光标准,你可以实现不少功能。Java 持续占据主导地位的关

13、键原因,第 7 位:花括号正好能工作那些像 Ruby、Python 或 CoffeeScript 等时髦语言的爱好者们开心的蔑视 Java(和 C)是怎样的要求程序员们反复敲打花括号键来明确表达代码段的开始和结束。括号、花括号、甚至方括号都是这些人深恶痛绝的。(我本人也非常讨厌它们,但我仍然怀念有一些类型的 Lisp 语言让你使用一个方括号结束所有内容的编程方式。)但是改变标点符号并不能消除复杂性。如果有用,它也只是隐藏或者掩饰了复杂性。使用像制表符等空白后你只能用直觉去感受那些无法看到的东西。如果 if 语句只引导了一行代码,这样不会有问题,但是当很多层嵌套时,就很难看明白。当我用 Pyth

14、on 编程时,我发现自己在反复数这些缩进。只是因为这样看起来像英文,并不意味着它像理解一句英文那么简单。Java 持续占据主导地位的原因,第 8 位:Groovy假如 Java 开发者必须要有一个带有动态类型的更清洁更简单的语法,他们没必要去运行一种新奇的语言。他们可以使用 Groovy,一个带有预处理器的整洁的利器,它能够生成出 Java 字节码来。这种语言也完全集成到了 Java 中,因此你可以在你的 Groovy 中混入对 Java 库的调用。就像是编写 Java 代码的缩略形式。这一灵活性让开发工程师得以找到问题的出路。当然 Groovy 是慢这通常是在使用了动态方法调用的时候 开发者

15、可以一直用 Java 来重写重要的费时的核心操作。Java 持续占据主导地位的原因,第 9 位:Java 虚拟机Java 虚拟机是按照运行 Javac 编译器产生的那些代码来的目的来设计和优化的,但是某个时候开始,开发者们意识到 Java 虚拟机也可以运行其他代码。只要编译器们产出标准的 Java 字节码,Java 虚拟机根本不关心是使用的那种编程语言。Haskell 、Scala 和 Clojure 的开发者们按这个方式设计他们的编译器搭上了 Java 这趟快车。而且他们只是这个由 Java 虚拟机产生的生态圈中几个比较优秀的代表。吸引力是显而易见的,Sun/Oracle 为创建跨平台环境而

16、努力,所有其它人从中受益。 Sun/Oracle的工程师们消除平台间差异,并考虑兼容性问题,然后所有人可以运行他们想运行的程序。微软在创建 C#时借用(并扩展)了这个创意,为大部分主要语言设计了编译器,这样 C#虚拟机就可以运行这些语言编写的所有程序。C#程序员说他们可以用很多不同的语言编写程序,只要通过一个Windows 盒子将其运行在一个虚拟机上即可。何等灵活!Java 持续占据主导地位的原因,第 10 位:NoSQL 革命很大部分建立在 Java 之上很久之前,数据库是一个神秘的黑盒子,它保存信息并快速有效的应对查询请求。然后 NoSQL 革命来临,程序员们意识到他们可以自己编写自己的数

17、据库,并根据需求修剪其代码。那些最重要的NoSQL 工具中很多都是用 Java 编写的。Cassandra、Lucene、ElasticSearch 、HBase 和 Neo4J 只是一些经常提到的 NoSQL 选择。然后还有一些像 acid-state 等程序,使用 Haskell 编写并运行在 Java虚拟机中。这些工具通常是开源的,可以方便的集成。一些开发者将其独立运行,另一些人将它们集成在自己的模块比如库中。不论哪种方式,Java 在数据库层中成为通用语言的情况,保证了 Java 开发者们的生活更简单了些。 他们更少担心由于字符编码和行结束符带来的小故障。这意味着 Java 开发者们可

18、以享受由 NoSQL 革命带来的丰硕果实。 Java 持续占据主导地位的原因,第 11 位:Minecraft 游戏融入 00 后们的共同情结中也许布鲁克林时尚的非主流们对 Java 嗤之以鼻,但是 Java 程序员们却领先一步。在 Ruby 时尚团正聚集起自己的一群粉丝时,他们之后的一代人却爱上了 Java。为什么?一个词:Minecraft。它用Java 编写而成。如果孩子们想要扩展该游戏,他们就需要学习 Java 来设计其插件。这保证下一代程序员第一个学习的是 Java。 Java 持续占据主导地位的原因,第 12 位:开源Sun 一直是开源领域中的领导者之一,但它却在完全开放 Java

19、 的过程中时有犹豫。但这并没有妨碍Java 程序员们发布很多伟大的有着宽松开源许可的库和项目。Apache 项目一直都在使用一个没要求太多回报的许可证来提供优秀的 Java 代码。Sun 在 2007 年完成了在 GPL 许可下公开大部分代码的工作,从那时开始,它和它之后的新主人Oracle 想努力成为它认为的 Java 的合格管家。当然,这种开放的立场并没有阻止 Oracle 将 Google 拖入一场混乱的法律诉讼中,但是另一方面,Java 平台很大程度是开放和免费的。讨厌它的人很多,但 Java 持续前行的确 Java 有它自己的问题,而且讨厌的 Java 人们也会越来越多, 并将他们的

20、不满情绪充斥在线上评论区中。Java 垃圾回收器会引起程序的小抽风。程序书写规则繁重,也并不能阻止那些确实差劲的代码。注解( 译注: annotation)太复杂。各个特性也不如之前演进的频繁。花括号增加混乱。其缺点列表很长,但是通常是合情理的。然而目前还没有出现一个广度和深度上可与之竞争的对手。虽然一些抱怨很容易解决,但是解决方案本身会带来自己的问题。最接近的也许是 JavaScript,依靠有闪电般速度的 Node.js,它在服务器领域越来越有吸引力。不过这些创意可以被复制,程序员们也可以用其来编写快速的 Java。在最后,这是 Java 的优势之一:它运行所有程序,而且接受改变。如果你需

21、要不同的功能,你可以将大部分库替换成自己的代码。语言是开源的而且灵活多变。不论语言和平台有什么限制,都可以相对轻松的解决。这意味着 Java 程序员继续是最具生产力的人员之一。即使相关图书不在能再占据畅销榜,软件更新也没之前频繁,Java 将依然存在甚至更加兴旺。学 Java 是一条漫长的路,对于一个初学者来说,如果想要尽快上手 Java,可以选择培训机构,而作为华南地区领头羊的广州传智播客,拥有极高的口碑跟就业率,这个是题外话,个人推荐给想在这行业有所深入的朋友们。传智播客是一家专门致力于高素质软件开发人才培养的高科技公司,依托中国最大的程序员平台 CSDN,整合了国内众多知名软件企业的资源

22、,并邀请到任跨国公司和国内大中型企业架构师,系统分析师,企业培训师组成自己的精英团队。历经 7 年多的发展,已经出版书籍几十本,教学视频几百个,发表各类技术文章几百篇,已经成为java,.net,php,3G/4G 培训领域的领军企业,并开始对中国的软件教育有所影响。传智播客的讲师以朴素的语言,采用由浅入深,先易后难的教学方法,进行全程的项目实训,使学员了解并掌握软件开发的整个项目流程,快速适应企业的人才需求。传智播客培养的软件开发人才受到社会及企业的广泛赞赏和认同,很多学员已成为众多国际国内知名 IT 企业的抢手人才或技术骨干。2010 年 4 月,传智播客广州中心成立;截止 2012 年

23、8 月,传智播客广州中心已为华南地区的软件相关企业输出近 500 名高级软件工程师;2011 年 10 月,推出了“零付款就读”等不用付一分钱就可以参加就读的项目,满足了广大渴望系统地学习软件开发专业技能地学员需求,深受广大学生欢迎。地址:广州市天河区棠东东路御富科贸园御富 B 座 A202室 020-38325125 吴老师学软件开发可以来广州传智播客 IT 培训学校,广州传智播客的培养模式重点在于学生理论知识和学生实践技能,让学生在实践环节中掌握技能,提高人才的综合素质。在教学方式上,以项目实战带动教学,上课打破传统课堂模式,以实训项目贯穿教学,带领学生一起做企业真实项目。从而全面掌握规范的开发流程和丰富的项目开发经验,让实训学员在实训中就拥有实际的工作经验,学成后轻松就业。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高等教育 > 大学课件

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报