.Net还是Java?

相信一提这两个就会有口水战,因为都有众多的Fans在跟随,并罗列对方的种种不是。经过这几年的演化,两者不断吸收对方的精华,在很多特性上面已经越来越像了。当然对于大多数人来讲,语法不是很重要的事。当然,在就个人而言,我还是喜欢C#的语法,简洁,灵活。在这方面JAVA过于学院派,显得笨重和严谨。
当然,这些都不是很重要的。我想主要有两个方面
第一 微软把.Net与自身的产品线绑定太紧,windows,office,sharepoint,exchange,biztalk,甚至连vs中都包括sharepoint的webpart,而微软的基础平台windows去又安全性和稳定性不太被企业接受,另外一个因素就是价格,微软的产品不是最贵,但也不便宜。所以这时,java的跨平台意义就出来了。放到linux上,而且是免费,当然还包括mysql等。从或许是从企业的角度。

第二,从开发者的角度而言,一个厂商的社区是非常重要的。相信对.Net了解的人一定有这样的感觉,.Net开源不能做。 这样的例子举不例举,像Ndoc,当然包括现在还在徘徊的castle,他本身提供了一些aop,monrails,nb之类的集成,但是ms非要自己搞套linq出来,虽然linq不仅用于数据层。包括ms自己出的asp.net mvc,直到现在还是preview2,等个正式版还没有确定的消息。微软一方面在积极的吸收社区的优秀产品,然后全部包括在自己的产品线中,微软的产品是很容易上手,快速入门,但项目规模稍大,就会发现微软的产品不是很好用。而微软的态度是非常有意思,全让自己来做,但不是每个都做的很好,而大家都喜欢官方的东西,这样开源社区的项目还怎么进行下去,今天看了看DotLucene,Lucene.Net也都关了,最新的是2007的,再看看java的Lucene现在还红红火火。看看java的开源项目,再看看微软上面的codeplex上面的项目,真是天壤之别。相反sun虽然相比ibm,oracle没有从java身上赚很多钱,但至少有一个良好的生态链。不管是联合抗微软好,还是商业利益也罢,对开发者是非常有利的。目前手头有个项目,原来是用asp.net C#开发的,还在犹豫,要不要转到java上去,对我而言,不存在很大的技术问题。但就像刚才所言,当项目中要用到类似全文搜索这样优秀组件,在微软下面好像没有选择的余地

你可能感兴趣的:(java,.net,Lucene,asp.net,SharePoint)