为什么Java经常用于企业应用程序?

为什么Java经常用于企业应用程序?,java,jakarta-ee,Java,Jakarta Ee,作为一名Java新手,我想知道:在世界上所有的语言中,为什么Java经常用于企业应用程序?与其他语言相比,是什么让它如此?在未来的几年里,这种情况还会继续吗 我很感激你的见解。感谢:()P>它便宜,RAD,跨平台,开发人员比比皆是。 < P>开发C++过于缓慢和昂贵,.NET还没有足够长的时间。记住,业务惯性是巨大的 企业需要由专业提供商(如Sun公司)支持的语言,并且通常远离开源语言,原因很简单,因为它不是由公司编写的。Sun公司将Java定位于早期满足企业的需要。它推动在各个层面促进供应商独

作为一名Java新手,我想知道:在世界上所有的语言中,为什么Java经常用于企业应用程序?与其他语言相比,是什么让它如此?在未来的几年里,这种情况还会继续吗


我很感激你的见解。感谢:(

)P>它便宜,RAD,跨平台,开发人员比比皆是。

< P>开发C++过于缓慢和昂贵,.NET还没有足够长的时间。记住,业务惯性是巨大的


企业需要由专业提供商(如Sun公司)支持的语言,并且通常远离开源语言,原因很简单,因为它不是由公司编写的。

Sun公司将Java定位于早期满足企业的需要。它推动在各个层面促进供应商独立性的标准。独立于平台、独立于数据库、独立于应用服务器等

此外,他们还推广了企业级的it工具,包括消息传递、事务管理和企业担心的其他方面

企业级的东西往往在C++中完成(有很多例外(有人记得PowerBuilder吗?),但这是规则),java适合C++作为业务应用的继承者,在那种内存管理方面,不值得支付。

除此之外,该语言本身还向企业说明了如何避免难以获得的正确构造,因为这些构造可能会真正打乱代码库,例如运算符重载。企业级应用程序往往由许多不同的人来处理,并非所有人都是顶尖的程序员,拥有安全的网络以防止攻击自己是一件令人向往的事情


它也出现在正确的时间。一种新的模式(早在.NET出现之前就存在了)承诺将多个供应商结合起来,形成与微软竞争的能力,微软获得了IBM和Oracle等公司的支持,这恰好填补了一个新的漏洞,即开发web应用程序的新需求,其中C++不再是一个明显的选择。

也适用于客户端-服务器应用程序,对于具有相同J2EE接口(IBM WebSphere、BEA WebLogic、JBoSE)的生产质量应用程序服务器,您有很多选择。或者,如果您确信不需要EJB,您可以在任何服务器(如ApacheTomcat)上使用Spring框架,并遵循ServletAPI。与.NET相比,在应用服务器方面很难找到选择

对于给定任务的框架,无论是ORM工具、日志记录、集合、缓存、web UI等,都有很多选择。几乎不需要重新发明轮子


最后,虽然现在流行对Java语言的真正缺点表示哀叹,但在Java语言中,人们知道如何完成事情,如何避免某些反模式。

商业是关于时间、金钱和机会的

使用Java意味着代码中的错误数量会减少,这仅仅是因为指针很硬。您使用GC并立即从代码中删除整个类的错误

第二,Java是首批附带预写函数库的语言之一,它确实涵盖了很多开发阶段。这限制了事情的处理方式,但这意味着人们可以更快地学习,有更多的工具可供使用,并且有一组很棒的库来做网络、GUI、web、加密等事情。Java本身作为一种语言并没有那么特别,但Java加上Java API就是这样

因此,如果您拥有一种错误更少、基础设施更多的语言,那么您最终会在更短的时间内获得更多的代码。当然,代码不能治愈癌症,它并没有达到C++任务的相同任务的速度,但是它将实现业务的目标。
如果你用更少的钱制作更多的代码,你就可以追求更多的机会。然后,在Java中已经实现的代码方面,您将惯性带到表中,并开始了解为什么企业不想离开他们的舒适区。

一个词:库。Java拥有大量优秀的库,用于解决开发企业应用程序时需要解决的大多数常见问题。在许多情况下,有不止一个很好的选择来满足特定的需求,而且这些库通常是免费的,并且在商业友好许可下是开源的


有些人认为,事实上,Java生态系统中有太多的选择,用Java开发企业软件需要开发人员做出大量决策,这些决策可能对最终产品产生深远的影响,无论好坏。这可能有助于推动.NET等替代产品的流行,该产品以提供较少的选择而闻名,但其好处是集成度更高的应用程序堆栈和工具集。我想,您选择的方向取决于您是更重视“选择自由”还是“选择自由”。

一家大公司(寻求企业解决方案的类型)会选择Java有很多原因。注意,我并不是说所有这些理由都是正确或有效的。但相关的一点是,它们对MegaCorp的首席技术官来说似乎是有效的

学习曲线

Java是一种简单的语言,没有C家族其他成员的灵活性,这是双向的,但它被看作是一种供程序员大军使用的简单语言。企业项目往往涉及大量的开发人员(正确或错误),而使开发人员比C++更容易在java中达到最低水平。你们也有整整一代的毕业生,他们可能主要是在爪哇接受教育的

Ch