Java永远!Java持续主导地位的12个关键因素

我们很容易忘记任何一项技术的价值,一旦它的嗡嗡声在我们的集体意识中传播开来,并在炒作的视野之外火速消亡。以《广告狂人》(Mad Men)时代的遗留物Cobol为例——就像一条过了盛年的鱼,正如时髦的技术专家所言:一文不值、气味难闻、过时,对你有害。Java可能是下一个发现自己处于“相关性”边缘的企业支柱。

图书销售已成为遥远的记忆。Java的中年实用程序已经不再吸引杂志封面了。自Java发布近19年以来,应用程序开发专家一直在Node这个诱人的集市上徘徊。js, Objective-C, Dart, Go,诸如此类的语言,都在想,“Java?Web 1.0时代的产物还在这里吗?”

快速搜索一下Dice.com上的工作列表,你就会发现,你是在打赌——而且是在很大程度上。与ios相关的工作列表最多有2500个,而Java却有超过17000个。骰子的数字远不是一个完美的衡量标准,但任何表明Java就业市场可能比开发人员世界中不可阻挡的炒作力量大7倍的东西,对一个老古董来说都是不错的。

也许这是因为Java提供了一个更好的商业计划,而不是将你的收入的30%拱手让给苹果,然后祈祷你的应用能进入前25名。事实上,比起帮助愤怒的小鸟报复一些猪,爪哇岛一直在解决一个更大的问题。它是许多平台的基础,旨在为软件在多个芯片架构上高效运行提供一种平滑的方式。这同时解决了服务器程序员、客户端程序员和嵌入式程序员的问题。

在我们忘记Java对计算的许多重要贡献和它今天的角色之前,这里有12个明确的理由,说明为什么Java不仅生存下来,而且在它的后buzz时代积极地蓬勃发展。

换句话说:不要称之为回归;Java一直在这里占主导地位。

保持Java优势的关键是:面对(通常是肮脏的)政治时的弹性

科技界从来没有给过Java机会,因为它的敌人很多,而且装备精良。无论如何,这种语言繁荣了起来。看到Java还在这里,许多人感到惊讶,他们肯定花了太多时间听那些讨厌它的人说话,却没有花足够的时间了解它的成功。

微软是Java的第一个大敌人,因为公司认为它是unity MS-DOS的最有价值的继承者。Redmond从一开始就对Java恶语相向,竭尽全力与之斗争。Java从未在桌面上找到它所需要的吸引力,部分原因是这个神奇的Java虚拟机启动起来花费了太多的时间。尽管有微小的延迟,Java应用程序在Windows上运行得足够好,可以正常运行。

出于某种无法解释的原因,史蒂夫•乔布斯(Steve Jobs)从未接受过Java,即使在Mac基本上被除了Adobe以外的所有人忽视的时候也是如此。Java兼容性可以带来大量代码,但苹果总是把它当作事后的想法。(没错,iOS智能手机比我的安卓手机更流畅,所以或许史蒂夫是有道理的。)

爪哇也经历了许多内部纷争。IBM热爱这门语言,但一直在与Sun竞争。它将其出色的IDE称为“Eclipse”的决定并没有受到Sun的热烈欢迎,Sun从未像IBM那样了解商业世界。

通过所有这些以及Java的创造者们的许多失误,Java仍然得到了扩展,在服务器上找到了一个富有成果的归属,并在桌面上找到了一个可用的位置。每一种技术都必须与政治潮流相抗衡,但在Java的例子中,它游得更艰难、更远,证明它通常是一个很好的工作选择。

继续保持Java优势的关键2:线程的魔力

Java虚拟机的优势之一就是它能够轻松地处理多个线程。JVM是为大型多核机器而优化的,它通常可以处理数百个线程而不会崩溃。这种灵活性吸引了其他语言开发交叉编译器和模拟器,这样它们就可以在JVM上运行。

这种力量也吸引了许多高流量网站。他们可以编写在桌面运行的代码,然后使用服务器上可用的多核电源。

Ruby是Java的现代竞争者之一,它吸引了许多人转向其更简洁、更像英语的语法。然而,当Ruby爱好者需要高性能时,他们转向了JRuby,这是一个在Java中模仿Ruby的版本,在有很多线程的重载下提供了更好的性能。《太阳报》的工程师们在这些细节上花了很多心血,他们做对了一些事情。

继续保持Java优势的关键3:Java作为第一编程语言

宗教、军队和国家通过在人们年轻时建立忠诚而繁荣。Java是计算机科学进阶课程的通用语言,这意味着它通常是学生学习的第一种语言。无论好坏,这一点始终与他们同在。当他们学习新语言时,他们会看到与Java相关的优点和缺点。如果他们成为了皈依者——许多人确实离开了Java阵营——他们的观点仍然基于他们在第一堂课中学到的东西。

Java在计算机科学教学中有很多优势。有些程序员不喜欢指定数据的类型,通常称之为“带和挂起”编程。这听起来可能有些偏执,但对于初学者来说,这是了解计算机内部情况的好方法。让他们说出数据的类型会让他们思考这个问题。然后,当变量没有正确对齐时,编译器可以捕获它们的错误。

一些最流行的语言已经远离了花括号,因为维护它们可能很烦人。这可能是对的,但是对于需要理解嵌套块的新程序员来说,它们非常有用。花括号帮助新手解开所有嵌套。

也将有一些谁想要把自己的语言,在大多数情况下,他们的宠物语言更无狭窄和Java的规则放宽。他们有一个好点,但他们错过了事实,更简单,更清洁的语法有其自身的危险是显而易见的后面。一些人找到了皮带和 - 吊带方法令人窒息,但Java的推动良好的习惯从一开始。新信徒可以处理轻松,更危险的构造时,他们更好的培训。

继续保持Java优势的关键之四:(足够接近)跨平台兼容性

Java是不是定位于简单的跨平台兼容性的第一语言,但它一直是最流行的。这并不是说这是完美的 - 缺少库或不兼容的版本会崩溃的代码。你不能把你的最新的JRE 1.7的代码编译的RAM千兆台式机和上运行Java ME电话。这并不是说兼容。

但是,Sun和甲骨文现在已经做了他们可以做跨平台的兼容性工作的大部分时间是最好的。当它不工作,原因通常是可以理解的。如果您使用Java的正确版本,并确保有足够的内存,它会工作。Java开发人员可以使用自己的桌面工具创建的代码,并将其移动到目的地,无论是电话或服务器。如果编译器包含右版本正确的库和检查,代码将运行。这是非常宝贵的。

继续保持Java优势的关键之五:在小型芯片上的持续成功

Java可能从来没有建造在桌面电脑上获得了一大批拥趸,但它在移动世界里却得到了热烈的欢迎——这个市场份额正呈爆炸式增长。Android平台是建立在Java从底部到顶部,现在它的销量轻松超过iPhone。

这种支配并不是什么新鲜事。该简装称为Java ME的语言和VM上很多所谓的功能手机被广泛使用的版本,这些几乎是智能手机在世界各地的数百万这个数字。

当你混合它们放在一起,Java的霸主地位是惊人的。

继续保持Java优势的关键6:蓝光

Java是一度被称为“橡树”,并专为机顶盒,Sun公司希望占据主导地位。根据计划并没有完全奏效,但Java设法找到在客厅的好地方。蓝光标准是围绕Java构建,以及谁想要增加额外的内容,蓝光磁盘必须走出javac编译器的版本。

光盘不限于原始的视频素材。额外的特性和交互式工具可以用纯Java代码进行修改和增强。这些磁盘是压缩视频和压缩Java字节码的混合体。你可以用蓝光标准做很多事情。

继续保持Java优势的关键7:花括号起作用

的爱好者时髦语言像Ruby,Python或CoffeeScript的享受贬低Java语言(C)如何要求程序员一次又一次打击的花括号键,明确划定的每个代码块的开头和结尾。括号,大括号,连方的 - 都是诅咒这些人。(我不喜欢他们,我和我仍然眷恋的方式Lisp的某些版本让你接近了一切与方括号。)

但改变标点并不能消除复杂性。如果有的话,它隐藏或粉刷它。使用空格状突片迫使你直觉你看不到的东西。这对于一个if语句精细触发一行代码,但是当嵌套几层参与很难。当我写的Python,我发现自己计数,诉说着缺口。只是因为它看起来像英文并不意味着它是很容易理解为一个英语句子。

继续保持Java优势的关键:Groovy

如果Java程序员必须使用更干净、更简单的动态类型语法,那么他们就不需要运行一种新的语言。他们可以使用Groovy,这是一种使用产生Java字节码的预处理器的简单方法。该语言还与Java完全集成,因此您可以在Groovy中间混合调用Java库。它就像是编写Java代码的简写。

这种灵活性让程序员可以通过工程解决问题。当Groovy较慢时——通常是使用动态方法调用时——程序员总是可以重写Java中浪费时间的重要核心。

继续保持Java优势的关键9:JVM

JVM的构建和优化是为了运行具有Javac编译器生成的静态作用域的类型化代码,但是在此过程中,语言开发人员意识到JVM也可以运行其他代码。只要编译器生成合法的Java字节码,JVM就不关心使用什么语言。Haskell、Scala和Clojure的开发人员通过构建自己的编译器来实现这一点,从而搭上了Java这趟快车——而它们只是JVM所支持的共生关系的几个更高级的例子。

这种吸引力是显而易见的。太阳/ Oracle进行工作,以创建跨平台的环境,和其他人的利益。太阳/ Oracle的工程师理顺有关兼容性的分歧和担忧,那么每个人都可以运行,我们喜欢什么。

微软借用了这个想法(以及更多),它创造了C#和出去的它的方式来构建编译器,大多数主要语言,使得C#VM可以运行它们时。C#程序员说,他们可以在许多不同的语言写的 - 只要他们通过Windows中的虚拟机上运行它。Quelle的flexibilitA(C)!

继续保持Java主导地位的关键10:NoSQL革命,很大程度上建立在Java之上

很久以前,数据库是一个难以理解的黑盒子,它存储信息并快速有效地回答查询。接着,NoSQL革命程序员们意识到,他们可以编写自己的数据库,并根据自己的需要定制代码。许多最重要的NoSQL工具都是用Java编写的。卡珊德拉、Lucene、ElasticSearch、HBase和Neo4J只是经常提到的一些NoSQL选项。然后是acid-state,它是用Haskell编写的,在JVM上运行。

这些工具通常是开源的,并准备进行整合。一些开发商运行它们作为独立的工作;其他代码编译成自己的堆栈像库。在这两种情况下,作为通用语言Java的状态数据库层确保生活是Java开发人员更容易一些。他们必须少担心的是来自字符编码或行结束小毛刺。这意味着Java开发人员可以享受的NoSQL革命果实。

《我的世界》(Minecraft)吸引了千禧年后的思维分享

布鲁克林的时髦人士可能会嘲笑Java,但Java程序员首先留的是胡子。当Ruby热继续获得它自己的粉丝份额时,他们的下一代已经爱上了Java。为什么?一个词:"我。它是用Java写的。如果孩子们想要扩展《我的世界》,他们需要学习Java来构建插件。这确保了下一代程序员首先学习Java。

关键Java的持续统治地位第12号:开源

Sun一直是开源的领导者之一,但它对完全发布Java却犹豫不决。这并没有阻止Java程序员发布许多具有非常宽松的开放源码许可的优秀库和项目。Apache项目继续交付优秀的Java代码,其许可不需要太多回报。

Sun在2007年完成了GPL下大部分代码的发布;从那以后,该公司及其最终的新东家甲骨文(Oracle)一直试图成为它所认为的语言的优秀管理者。当然,那个公开的faASSade并没有阻止Oracle把谷歌拖进a法律上的混乱但除此之外,这个平台基本上是开放和免费的。

仇敌比比皆是,但Java的卷上

Java的肯定有其自身的问题和Java仇敌份额将比比皆是,洒鲜血遍布在线留言板。垃圾收集器可以引起打嗝和抖动。打字系统是件苦差事并不能阻止真正的恶意代码。注解过于复杂。因为他们在过去所做的功能不演变为快。花括号添加混乱。名单很长,往往有道理的。

然而,迄今为止,还没有一个国家具备足够的广度和深度,足以成为一个强大的竞争对手。虽然修复一些抱怨是很容易的,但是修复通常会带来它们自己的问题。最接近的可能是JavaScript,它通过闪电般的Node.js在服务器上找到了新的吸引力。不过,这些思想可以被翻译,程序员也可以用它们来编写速度极快的Java。

最后,这是Java的优点之一。它运行一切,并对变化持开放态度。如果需要不同的功能,可以用自己的代码替换库的大部分内容。该语言是开源的,而且非常灵活。语言和平台的任何限制都可以相对容易地解决。这意味着Java程序员仍然是最有生产力的。尽管这些书不再占据畅销书排行榜的主导地位,软件更新也不那么频繁了,但Java仍然存在,甚至茁壮成长。

这个故事,“Java的永远!12个键Java的经久不衰的主导地位”最初发表信息世界

加入网络世界社区吧有个足球雷竞技app脸谱网LinkedIn对大家最关心的话题发表评论。
相关:

版权©2013Raybet2

工资调查:结果在