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文件:
[html]
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<appSettings>
<add key="DB" value="Sqlserver"/>
</appSettings>
</configuration>
c#文件读取:
[csharp]
private string db =ConfigurationManager.AppSettings["DB"];
2.java读取xml文件
xml文件sys-config.xml:
[html]
<?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的方式读取):
[java]
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 ,