Java与.Net大PK

作为一个编程人员,很多人都会有一个疑惑:是学习java还是.net?

由于本人之前学过一段时间的.net,而最近又在学习java,于是对二者进行了一下比较:

首先,清楚两者的本质

Java是绑定于一种语言的跨系统的平台,是一个有多家供应商提供竞争性产品的规范。

.net是绑定于一种系统的多语言平台,是一个规范性较弱的垄断性产品。

然后,看两者对XML的支持能力

.net集成了XML和Web Service,使用起来非常方便;

java也不甘示弱,提出了XML规范,可有多种方式来解析XML文件,使用起来比较灵活。

那它们的不同体现在哪里呢?

我们先看一个小Demo,分别使用.net和java来读取配置文件。

1..net读取xml文件

由于.net对xml文件进行了封装,所以变成了config文件,下面我们来看一个App.config文件:

<?xml version="1.0" encoding="utf-8" ?><configuration>       <appSettings>            <add key="DB" value="Sqlserver"/>       </appSettings></configuration>

c#文件读取:

private string db =ConfigurationManager.AppSettings["DB"];

2.java读取xml文件

xml文件sys-config.xml:

<?xml version="1.0" encoding="UTF-8"?><config><db-info><driver-name>oracle.jdbc.driver.OracleDriver</driver-name><url>jdbc:oracle:thin:@192.168.24.188:1521:test</url><username>drp</username><password>drp</password></db-info></config>

java文件读取(采用dom4j的方式读取):

Document doc = new SAXReader().read(Thread.currentThread().getContextClassLoader().getResourceAsStream("sys-config.xml"));Element driverNameElt = (Element)doc.selectObject("/config/db-info/driver-name");Element urlElt = (Element)doc.selectObject("/config/db-info/url");Element usernameElt = (Element)doc.selectObject("/config/db-info/username");Element passwordElt = (Element)doc.selectObject("/config/db-info/password");dbcInfo = new JdbcInfo();

通过上面的Demo我们可以看出,.net读取配置文件以及配置文件的写法都很简单,一句话就能搞定,这就是它集成的好处;可反过来我们又会发现,它的配置文件的写法很死板,必须按照它指定的格式去写,不然它就不认识你了。

而java则恰恰相反,它的配置文件的写法非常灵活,你爱怎么写就怎么写,因为它会一条一条的去读取,所以就增加了读取的代码量。

其实说到底他们的区别就是集成与灵活。

不过,我认为作为一个编程人员,在学习的过程中不能图方便,现在的方便就是在为以后堆大山,到时候遇到让你自己写xml文件时就向面对着一座大山了(其实没那么夸张啦)。

最后,还得看你的选择

作为一个编程人员,面对以后的就业方向问题,我认为还是选择java好(相对来说),理由如下:

1. java就业面很广,它对大中小型系统都适用,只要搭配不同的操作系统、应用服务器等等,大到银行综合信息系统、全国全省的统一应用系统,小到手机游戏,Java可以大小通吃,来者不拒。

2.java比.net容易“学”

为什么会这么说,因为对于java来说,入门比较难,但是只要你学到一定的程度,能够开发项目,那么你就可以在这个行业上有所发展。

对于.net来说呢,它入门很容易,任何人一般都能上手,所以也就体现不出你的优势,只有学到足够的深度(比如做一些跟操作系统相关的开发),你才能在这个行业站得住脚。

当然,上面的说法只是我个人意见,大家如果有什么异议,可以留言讨论。

生活的最大悲剧不是失败,而是一个人已经习惯于失败。

Java与.Net大PK

相关文章:

你感兴趣的文章:

标签云: