企业用户选择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可与他取得联系。
企业用户选择Java多于.NET的 5个原因的更多相关文章
- java XML 通过BeanUtils的population为对象赋值 根据用户选择进行dom4j解析
根据xml文件设计Student对象 <?xml version="1.0" encoding="UTF-8"?> <students> ...
- SQL Server 2016五大优势挖掘企业用户数据价值
SQL Server 2016五大优势挖掘企业用户数据价值 转载自:http://soft.zdnet.com.cn/software_zone/2016/0318/3074442.shtml 3月1 ...
- 客户端是选择Java Swing还是C# Winform
登录|注册 mentat的专栏 目录视图 摘要视图 订阅 [专家问答]韦玮:Python基础编程实战专题 [知识库]Swift资源大集合 [公告]博客新皮肤上线啦 ...
- 选择 Java 编写 iOS 与 安卓 App的八大理由
[编者按]本文作者为 RoboVM 的 CEO 兼联合创始人 Henric Müller,主要介绍选用 Java 编写移动应用的八大理由.文章系国内 ITOM 管理平台 OneAPM 编译呈现. 在过 ...
- 企业如何选择最佳的SSL
如果你的企业有意采购SSL,那么本文可以给一个很好的方向.在本文中,我们将先简要介绍SSL定义及其工作原理,并探讨目前各种可用的SSL证书类型以及企业如何选择最佳的SSL. SSL定义 SSL及传输层 ...
- Android6.0动态申请权限那些坑--以及避免用户选择不再提示后无法获取权限的问题
Android 6.0 为了保护用户隐私,将一些权限的申请放在了应用运行的时候去申请, 比如以往的开发中,开发人员只需要将需要的权限在清单文件中配置即可,安装后用户可以在设置中的应用信息中看到:XX应 ...
- 大数据之路week05--day01(JDBC 初识之实现一个系统 实现用户选择增删改查 未优化版本)
要求,实现用户选择增删改查. 给出mysql文件,朋友们可以自己运行导入到自己的数据库中: /* Navicat MySQL Data Transfer Source Server : mysql S ...
- 企业邮箱选择,商务办公为什么选TOM企业邮箱?
企业邮箱是工作中的重要工具,它可以帮助我们更规范的上传下达.更高效的管理工作,也是拓展合作伙伴的敲门砖及必杀技.比如写一封诚意满满的合作邀请,再比如重要关头写一封合作协议.毫不夸张,企业邮箱不仅能节省 ...
- 自定义Vue&Element组件,实现用户选择和显示
在我们很多前端业务开发中,往往为了方便,都需要自定义一些用户组件,一个是减少单一页面的代码,提高维护效率:二个也是方便重用.本篇随笔介绍在任务管理操作中,使用自定义Vue&Element组件, ...
随机推荐
- ios沙盒路径
http://www.cnblogs.com/ios-wmm/p/3299695.html iOS沙盒路径的查看和使用 NSString *path = NSHomeDirectory();//主目录 ...
- Python3基础 print 自带换行功能
镇场诗:---大梦谁觉,水月中建博客.百千磨难,才知世事无常.---今持佛语,技术无量愿学.愿尽所学,铸一良心博客.------------------------------------------ ...
- 错题集锦(二) -- Java专项
错题集锦(二) -- Java专项 标签(空格分隔): 找工作 JVM的内存模型 线程共享: 堆(Heap):主要存放一些对象实例 方法区(Method Area / Non-Heap):用于存储已被 ...
- can not find UIAutomationClient
'ClientApp.vshost.exe' (CLR v4.0.30319: ClientApp.vshost.exe): Loaded 'C:\Windows\Microsoft.Net\asse ...
- Hearthstone-Deck-Tracker项目的编译
https://github.com/HearthSim/Hearthstone-Deck-Tracker https://github.com/HearthSim/HearthDb https:// ...
- How To Use RUN_PRODUCT In Oracle Forms
Run_Product is used to run Oracle Reports (RDF/REP files) in Oracle Forms. It invokes one of the sup ...
- oracle默认管理员的帐号和密码以及密码修改和解除锁定
安装 ORACLE 时,若没有为下列用户重设密码,则其默认密码如下: 用户名 / 密码 登录身份 说明 sys/change_on_install SYSDBA 或 SYSOPER 不能以 NORMA ...
- [HDOJ5787]K-wolf Number(数位DP)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=5787 题意:求[L,R]区间内的数字,使得所有长度为k的子数列内所有数位都不同. K<=5的所以 ...
- 【转】VB中应用DDE
动态数据交换(dde)是windows应用程序间通讯的基本方法之一,在动态数据交换的过程中,提供数据和服务的应用程序称为服务器,请求数据或服务的应用程序则称为客户. dde交谈是由客户程序启动的.如果 ...
- CoreLocation
导入框架(Xcode5.0之后可以省略)