zoukankan      html  css  js  c++  java
  • 企业用户选择Java多于.NET的 5个原因

    .NET 和 Java 是当今社会最受欢迎的两种编程语言, 长期的发展和强大的功能使他们足以在编程界立足。 十余年的争论也没得到结果的一个话题就是——他们哪个更好一些?

      今天, 我们不再去讨论JAVA和.NET的利弊因为在项目实施过程中,需要分析项目的具体要求,进而选择合适的平台和技术。相反,我们将探讨Java的优势和特点进而去理解为什么世界的各大公司 ,尤其是搞银行和保险领域的更偏好JAVA而不是.NET的原因。

      # 1. 开放源代码

      2006年,Oracle把Java开源了­——这意味着可以不用交给Oracle授权费就能开发任何软件。相反,.NET是一个需要从微软获得许可的产品,必须支付许可证费用才能使用这个框架去开发软件。

      公司使用Java得到的优势是,他们可以通过使用一个开源的软件开发框架来削减开发成本。对于预算吃紧的企业,Java是自然的选择。

      另外,作为一个开源的平台,它允许开发者去做任何事情,他们可以通过使用各种可用的支持Java的开发工具来构建他们想要的东西和创建他们喜欢的解决方案。这是目前你不能用.NET做到的一些事情,因为(它不开源,所以)使用.NET你只能使用微软提供的工具内容,并在Visual Basic(应该是VS)里玩。

      # 2. 平台无关性

      你想开发一个可以无缝运行在不同的操作系统的软件吗?想象这样一个软件,它允许您编写一段代码可以跨越设备和平台进行工作。使用Java,所有这一切都是可能。Java就是出于这个单一目的——“编写一次,到处运行”——而创建的,而且忠于愿景,Java代码只需一次书写就可在不同的平台上执行和运转。使其成为可能的是对于几乎所有主要平台都有可用的具体JVM实现。

      这是.NET没有做得很好的地方,也是Java和.NET编程语言的不同。(出于商业竞争和保护).NET被聚焦在单一操作系统上,可以让微软和它的开发者更方便地构建和开发能无缝运行在windows上的工具。使用.NET你可以通过Mono建立能工作于一些操作系统的应用程序,但它没提供象Java开发那样的方便性。所以如果你创建的软件或应用程序需要运行在不同的平台上,Java对你来说是一个理想的开发平台。它将使开发过程更简单。

      # 3. 物联网的首选平台

      物联网指的是一个未来的憧憬,所有日常用品,如设备、房屋、城市、汽车和其他物品——被注入情报器并不断地连接到互联网。Java将是物联网的一个理想平台,因为设备将运行在不同的软件和硬件上,Java可以使所有这些不同的设备相互通信。

      当然,还有其他一些语言也可以被使用,但Java已经是一个成熟的编程语言,在这方面已经有大量的开发和研究已经完成,使它成为开发人员的理想选择。

      目前,这是.NET还不能提供的能力,因为(先天不足,)它的功能主要是只对windows平台实现完全兼容,.NET不太擅长连接各种在不同的软件和硬件上构建和运行的设备。

      #4. 活跃的社区

      最好的部分Java社区使你可以免费得到你所需的解决方案,相比而言,当你走近他们寻求解决方案时微软都要收费。甚至.NET的每一次更新都要你花钱。而另一方面,Java开发人员社区的活力不断改善着Java平台的功能和有效性。这意味着你的软件和应用程序可以继续得到最新的技术的优势,而无需支付额外的钱。

      #5. 安全性

      Java比大多数其他编程语言更安全。很多功能,比如对引用的自动null检查,字节码执行之前的验证,运行时安全检查和数十个类似的特性,使得它成为创建安全的应用程序方面的老大。这就是为什么银行和保险公司都使用Java创建他们的应用程序或软件的原因。

      总结以上

      Windows操作系统仍然是在世界各地最受欢迎的操作系统之一,因此,对于想开发应用(尤其是在Windows平台上)的组织和企业家来说,.NET可以是一个不错的选择。但是Java提供了一个安全、成本有效、平台独立的方式来创建高质量的软件。并且结合从Java开发者社区产生的固定性的改进,使它对于大多数企业来说都是一个极佳选择。

      Boni Satani是工作于一家IT解决方案提供者Cygnet Infotech公司的Java技术爱好者。他照管着不同的一些Java项目,包括web应用程序开发,Web服务开发和Java报告工具。他有颗技术极客的心,爱在他的空闲时间写作。随时在twitter上@bonirulzz可与他取得联系。

  • 相关阅读:
    [MySQL] 怎样使用Mysqlcheck来检查和修复, 优化表
    MySQL 5.6 & 5.7最优配置文件模板
    mysql5.6配置详解
    mysql 复制数据库
    mysql-binlog日志恢复数据库
    Memory Analyzer Tool定位Java heap space内存泄漏
    MySQL Flashback 闪回功能详解
    DisJSet:食物链(POJ 1182)
    BFS:Meteor Shower(POJ 3669)
    DFS:Curling 2.0(POJ 3009)
  • 原文地址:https://www.cnblogs.com/Blog-Yang/p/3245633.html
Copyright © 2011-2022 走看看