Java是否会具有与过去相同的重要性,或者与现在相比不再那么重要了?
Java是否会具有与过去相同的重要性,或者与现在相比不再那么重要了?
Answers:
Java具有重要意义,并且在企业计算世界中将继续保持重要地位。
它是否在其他领域仍然有意义,很大程度上取决于Oracle的工作。如果他们为ME,桌面应用程序和其他领域注入一些生命(和资源),并且坚持Java语言的发展,那么Java将会做得很好。
但是,如果甲骨文削减研发和/或试图扼杀Java领域的其他参与者,那么某人/某家公司很有可能会开发出一种更好(和更开放)的类似Java的语言。如果甲骨文在与Google的诉讼中胜诉,我预计下一代Android平台将拥有一种新语言,就像C#一样。如果Google正确地实现了开放性...那么,游戏就开始了!
I predict that the next generation of the Android platform will have a new language, just like happened with C#.
不要忘记Gosling现在可以在Google上使用;nighthacks.com/roller/jag/entry/next_step_on_the_road
是的,Java肯定会继续发挥作用,并且很可能会长期保持其作为软件开发整体排名第一的位置。
首先,Java之所以成为并且将继续成为强大选择的原因:
Java仍然是最受欢迎的语言 -这意味着它拥有最多的开发人员,大多数正在进行的开发,最大的安装基础等。没有任何急剧下降的迹象-例如,如果您查看TIOBE趋势,它很可能会继续未来10-15年排名第一
尽管有缺陷,Java仍然是开发企业应用程序的优秀语言。当需要许多不同的开发人员以相当标准化的方式维护应用程序时,它冗长且倾向于促进相当标准化的OOP开发风格这一事实是一件好事。聪明的CIO意识到了这一点,这就是为什么您不会很快看到Java在企业中消失的原因。顺便说一句,Java创建时的明确目标是应该“简单,面向对象和熟悉”。
语言的成功不仅与语言本身有关,还与语言可用的图书馆生态系统有关。在这方面,Java是首屈一指的,它拥有大量的开源和商业库。
性能 -现代JVM上的JIT编译代码在速度方面非常接近优化的本机代码。实际上,这意味着Java通常是可用的最快的语言/实现组合之一(如果愿意,请参见有缺陷的基准测试)。任何认为Java速度慢(或出于善意的原因而“解释”)的人都需要更新上个世纪的事实。
大型公司的支持 -Java是由许多世界上最大,最重要的技术公司和组织支持的战略平台-我们谈论的是Google,Oracle,IBM,Apache Software Federation等。Java还获得了主要技术用户的大力支持-银行,媒体公司等。没有其他语言/平台具有如此广泛的行业支持(即使播放器偶尔会出现:-))
Android-在移动领域极大地促进了Java的发展。许多初创公司都瞄准了这一点,并且可以预料,移动初创公司也将有充分的理由在服务器端选择Java。
可移植性:Java是最接近真正的跨平台编程环境的东西。从高端服务器到智能手机,它都应运而生,并且编译后的纯Java代码将在所有这些平台上运行而无需修改。很少有语言能说出同样程度的可信度。作为字节码语言,Java在库空间中也具有固有的优势,因为编译的库具有跨平台的固有可移植性。
优秀的工具 -其中大多数是免费和/或开源的。Netbeans和Eclipse是IDE领域中的出色示例。开发人员需要良好的工具来充分发挥生产力,因此这是选择语言/平台的重要因素。
Java是开放源代码 -这里不讨论为什么这是一件好事,但足以说明a)OpenJDK中的核心Java实现以及b)大多数有趣的Java库和工具都是开放源代码。
Java 不仅是一种语言,它还是一个平台:JVM上有许多有前途的语言,例如Clojure和Scala,它们代表了该语言在平台上的未来。我的预测是,Java语言将继续获得对功能(JDK 7、8等)的较小增强,而这些新的JVM语言将在这些语言中进行前沿创新。但这都是Java平台的一部分。
其次,如何替换Java?让我们看一下其他竞争者:
最后,一些结论/预测:
在接下来的几年中,主要语言的整体相对位置(就市场份额而言)将有所变化,但不会有太大变化。Java将保持第一。
在接下来的10-15年中,选择Java平台不会出错。不用担心Java很快就会消失。
在短期内,Java语言是一种安全可靠的选择。从长远来看,或者如果您觉得需要更多创新/语言设计的前沿,我建议将Clojure或Scala作为新的JVM语言
人们将继续传播有关Java的FUD。只是忽略它。
即使在最坏(最好的情况)下,我也无法想象Java在5年之内变得无关紧要。Java已经足够使用,它与COBOL,Fortran等的情况大致相同。即使每个拥有现有代码的人都决定尽快以另一种语言重写所有现有系统,但要花5年以上的时间才能完成。更换所有设备(从现在开始的5年后,仍将有足够的有效使用空间,因此仍会进行大量维护)。
实际上,这不太可能发生-尽管甲骨文肯定有不同的看法,但我无法想象他们所做的任何事情都如此可怕,以至于所有在Java上进行了大量投资的主要参与者都将很快放弃它。老实说,在IBM(例如)甚至考虑使用Java替代品之前,可能要花费近5年的明显错误决定。他们在Java上有足够的投资,因此除非他们相信他们别无选择,否则他们不太可能放弃Java。
我会说它正在下降。它没有消失,但是已经超过了高峰。
两个答案:
1)Android
2)黑莓
严重的是,在台式机上,它可能正在下降,但它为iPhone的两个竞争对手提供了动力。
另外,去年,我用学校的Java作业帮助了很多人。重点是,java仍在大学里教授。
编辑:
截至2011年10月,黑莓手机似乎正在下降。Android仍然表现强劲。
它在移动市场上的重要性正在下降,但是有了Android,它又重新获得了它。
Java将在可预见的将来具有相关性,即使您将相关性定义为仅包括新代码,也不包括旧版维护模式。是的,这种语言像调皮的孩子一样吮吸和对待程序员,而不是像成年人那样同意,并且自石器时代以来就没有改头换面。另一方面:
Java有一些很棒的库。
JVM是一个了不起的平台。
现在,有了JVM语言的泛滥,您不必使用Java进行编程就可以使用这些库。
恕我直言,事情发展的方式是,JVM世界中的Java将成为本地编译世界中的C。人们将在日常编码中使用Scala,Jython,Groovy等,但它们将永远从这些语言中调用旧的,笨拙的Java代码。某些对性能至关重要的代码可能仍是用Java编写的,因为它可能是最低级别,最有效的JVM语言。旧库将需要添加新功能。因此,即使普通程序员每天不使用Java,Java也将保持高度相关性。
我认同。我预计,随着插件7的最新改进和Java 7中语法的增强,它的流行度将在未来几年内增加。它具有大量优秀的开源库的优势(与之相比, (.NET),可以轻松将其存活10年。
我认为这不会失去相关性。Java 7刚刚推出了许多简洁的功能,它们将帮助开发人员更轻松地创建出色的软件。
Java也用于创建Blackberry应用程序。领先的企业手机之一。可以肯定地说它不会很快消失。
我主要是.NET开发人员,尽管我确实需要使用其他语言(包括Java)来完成任务。因此,根据我自己使用该语言的经验,我认为它不会很快消失,原因如下:
Java 语言可能正在缓慢下降,但是Java 平台(JVM + JDK)在最近几年中一直在蓬勃发展(Scala,Clojure和许多其他语言; Android框架)。毫无疑问,它是目前最好的(仅可行的?)多体系结构,多操作系统,多语言平台,可以从嵌入式移动设备扩展到大型机企业,并且目前还没有可比的竞争对手AFAIK。因此,我希望Java平台在5年甚至15年内都具有实用性。从长远来看,这也使Java成为一种与之相关的语言,即使Java的普及程度可能已超过顶峰。
TIOBE评估语言使用的情况... http://www.tiobe.com/index.php/content/paperinfo/tpci/index.html
根据他们的统计数据,Java会带路,并且很可能会持续很长时间-自2005年以来排名第一。我在职业生涯中一直使用Java,在我曾经工作过的任何地方都有Java应用程序/开发人员-即使是在考虑过自己的地方Microsoft开发商店。当您必须在Mac或Linux Server上开发解决方案时,Java就是一种易于使用的语言。
同样,优秀的ole C / C ++仍然在#2和#3上保持强势-而C#(每个人都认为它是最受欢迎的语言(最好的MS营销))甚至还差强人意!我现在使用C#,但要花费相当于我用Java和Delphi编写的代码量所需的时间。
因此,不要害怕学习或使用Java-总是为他们发布工作。因此,是的,Java在很长的一段时间内将非常重要。
这取决于语言的发展方式。
目前,Java作为语言不是很活跃。它的诞生是为了支持一种(也只有一种)范式:OOP。它将自身放置在允许更高级别抽象的语言(如C ++及其元编程功能)和具有反射功能的脚本语言(如Python的“ exec”和“ dir”命令)之间的中间位置,但是以某种方式无法找到真正的位置。它基本上已不再是“语言”。我不认为这是移动设备上的事实上的标准,我认为它现在已经死了。
至于对于OOP来说这是一种很好的教学语言这一事实,我从我的见解中感到怀疑:所有出生于Java的程序员都随处产生了Visitor和Observer模式,但这并不是我对Java程序员有丰富的经验。
仍然有很多遗留代码,在移动设备上这是一个标准。那就是说,我永远不会为台式机或Web应用程序选择Java。除了业务部门之外,没有理由(大多数经理都点头说“ Java”,也就是说,我认为这是移动设备上的标准)。
恕我直言,即使Java的构造或功能没有真正发展,Java仍将保持非常重要的地位并不断使用。
这是我的理由:-那里有很多代码,与编写新代码相比,维护所需的人员更多。
“ VM语言太慢”阵营正在慢慢消失(特别是随着Java成功地将其纳入算法交易中)。
大公司仍然在包括Oracle在内的所有领域使用它。
android平台的增长速度比iOS快,没有其他竞争对手在眼前,这确实吸引了更多人加入。
对于人们而言,使用它比使用功能语言更为直接。语言纯粹主义者和学者很容易欣赏功能语言及其功能,但是大多数没有CS学位的新手并没有完全欣赏Lambda的功能。因此,我认为这些语言不会普及。
它是完全免费的(与.NET不同,尽管有其他选择,.NET仍然更接近Windows生态系统)。
我怀疑所有语言最终都会进入一个阶段,专家们会说“ [语言]是[在这里插入十年]的COBOL”。
Java已成为许多软件开发领域中的一种专用或主要工具之一的标准工具。它的VM作为构建新语言的平台而流行。就算是新的更好的语言变得流行,距离其巨大的惯性也将持续很长时间。
Java世界出现了一些趋势,尤其是绝对出色地采用了JRuby和Rails或Groovy和Grails的趋势,这表明Java仍然有很多生命。然后就是Android的情况,这也对Java有利。就像Mac上的Snow Leopard一样,某些更改(现在无需外部驱动程序即可支持Midi)也已实现,因此它在台式机上的应用也越来越多。而且,Swing应用程序最终看起来本机为99%(或者至少现在有很多坚果壳相信这一点:十年前还没有)。
在90年代,Java经历了一个令人赞叹的时刻,这似乎是所有事物的解决方案。现在很明显,没有什么可以解决所有问题。.Net正在发挥作用,还有Ruby,Python,PHP(带有愚蠢的CMS解决方案以及人们终生都会嫁给的整个框架!)和Java(带有Groovy JRuby JPython等等)。答案是:
期待一个多元化的宇宙
Java会在这个宇宙中继续扮演重要角色吗?如果您的意思是“在JVM上运行的语言”,那么答案肯定是肯定的。如果答案仅仅是Java(语言,JVM等),那么答案是“也许不是那么重要”。但是,来吧,即使是Cobol仍在徘徊。
这是ReadWriteEnterprise上有关Java下降的文章:
http://www.readwriteweb.com/enterprise/2011/02/javas-not-dying-its-mutating.php
我们目睹的不是Java的消亡,而是Java的变革。它已从仅是主导企业的通用平台转变为针对各种特殊应用的许多不同技术的胆量。
它还讨论了特定工具如何提供Java技术的替代品,但不一定替代它:
尽管NoSQL数据库提供了关系数据库的替代方法,但这并不意味着关系数据库将消失。同样,Node.js提供了Apache的专用替代方案,但不会终止Apache。