我为什么从.NET转向Java

采菊东蓠下 2007-04-04 06:18:57
我为什么从.NET转向Java

自从开始学习计算机以来,所接触的软件基本上都是Microsoft的产品,记得最开始使用的操作系统是MS-DOS 3.1,开发工具是基本DOS的Turbo Pascal、Turbo C、MASM、Borland C++等,进入Windows和.NET平台后,便是清一色的Microsoft工具:Visual Basic和Visual C++,直到现在最新的Visual Studio 2005。一转眼10多年过去了,有时想想自己究竟学会了哪些东西,仔细想了以后,感觉很惊讶也吓了一跳,因为感觉最为熟悉的竟然是DOS和Windows平台的API以及VB、MFC,我记得当时在学的时候把这些奉若神明,认为这就是软件。但现在我觉得自己当初的想法完全是错了,真的错了!

我无意说Microsoft的坏话,也无意贬低Microsoft的产品,相反我认为Microsoft的产品是非常好的,我只是想反思这么多年来的想法。也许是自己不够聪明吧,认为Windows就代表了软件,GUI就是当时的发展方向,Microsoft当然领导了是软件的发展潮流,所以完全跟着MS向前走,想当年MS的许多RAD工具都被熟练地使用,感觉自己完全是站在了时代的前端,不无得意之感。

有一次,不经意地看了看Java的Struts框架,看到了传说中的MVC的真真正正的实现,心里最大的感觉就是一种悲凉!自己以前引以为豪的东西,例如RAD开发工具,与之相比根本就不值一提,从Java那儿,我看到了真正的OO,看到了软件的架构和设计,而不是大量重复的代码。我明白了,以前做的东西是多么的可笑啊!

现在网上有很多人都在骂Microsoft,但我在想:这是Microsoft的错吗?当然不是!这都是自己的无知所造成的,怪就怪自己当初没有一双“慧眼”。而且在真正遇到问题的时候,也没能认真去思考,比如在学习设计模式的时候,发现很难在项目中使用的时候,也没真正去想问题出在哪儿。现在明白了,从Microsoft的工具中,真的不容易找到设计模式、框架、架构这些东西的影子,大量的鼠标操作和相似的事件处理代码占用了最多的工作时间。也许另一个原因是自己的悟性不高吧,没有看到实实在在的这些例子就不能理解这些概念。和Java真的有一种相见恨晚的感觉,但我想,只要遇到了,就还不算太晚。

回想起前两年网上流行的.NET与Java的口水仗,我当时对Java基本上没多少了解,确实也看不懂双方到底争论的是什么,其实到现在我也没看明白。我感受到的.NET与Java的区别如下:

1、我感觉语言和平台本身的区别真是微乎其微。也许是我“视力”不好吧,真没看出多少区别来(废话)。

2、因为Java以及许多开发工具是免费或公开的,而Microsoft的东东基本上都是要收钱和,所以使用的人数完全一样。这个区别在国内可能没起什么作用,因为大家早已习惯用盗版了,但在国外,比如USA,作用肯定就大了。

3、Java社区和.NET社区的数量和质量完全不同。由于Java是Open的,用的人多,而且有不少的高手都在使用,并且组成了许多免费的开发社区,产品也当然是免费,所以就会有越来越多的人加入进来,大家在一起开发的结果就是水平都得到了提高。 .NET的免费项目真的不多,用.NET基本都出于商业目的,真没见过有多少人用.NET进行学术研究,所以圈子相对比较封闭,大家能够敞开交流的机会也不多,跟Java社区完全是两个概念。

其实,Java与.NET的区别不在它们的本身,最大的区别在于他们背后的力量,相信大家都能感觉得到,我就不多说。

我转用Java的原因就是出于上面的理由,希望能够在Java的社区里面学到关于框架、模式等东东。再次郑重声明:绝没有认为Microsoft的东东没有Java的好,也没有劝说他人转投Java的想法。以上都是自己的理解,仅供参考与讨论。

...全文
860 36 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
36 条回复
切换为时间正序
请发表友善的回复…
发表回复
hedonister 2007-04-16
  • 打赏
  • 举报
回复
平台不是问题,语言不是问题,只是工具而已,提高生产效率的东西
关键是想法,国内关系也重要
james_hunter 2007-04-16
  • 打赏
  • 举报
回复
我也不得不转Java,公司项目需要……
但是没有楼上那种领悟,我还是觉得VS下写代码比Eclipse爽的多!
wangyingdong 2007-04-16
  • 打赏
  • 举报
回复
学精哪门都一样.
diandian82 2007-04-16
  • 打赏
  • 举报
回复
...
大狼尾巴 2007-04-15
  • 打赏
  • 举报
回复
呵呵,术业有专攻...

俺曾经看到过有的 BAT文件那写得叫一个强悍...
zhuyuan2414 2007-04-15
  • 打赏
  • 举报
回复
晕倒,看了这么多评论,不知道学什么好了 !
emailme22 2007-04-15
  • 打赏
  • 举报
回复
我学过一段Java,估计有机会还会继续学下去.感觉Java把很多精力很多时候都浪费在一些工具的使用上,很多很小的功能都很烦琐.除了号称的跨平台,和Java比没多大的优势.不过弄Java的工资高
niitp 2007-04-15
  • 打赏
  • 举报
回复
进来看看,到底那个好啊?我刚学~
franksinger 2007-04-14
  • 打赏
  • 举报
回复
悲哀啊.十年了还在为技术痛苦.在中国稀少吧.
.Net完全可以实现各种设计模式.但是不能否认.Net的开发效率基本高于Java.
exing 2007-04-14
  • 打赏
  • 举报
回复
框架、模式无关语言,不过从现实来看,java程序员比.net程序员更关注这些东西,不过这不是语言的问题,是程序员本身的问题
burn3tt 2007-04-14
  • 打赏
  • 举报
回复
呵呵,java的机制暴露,语法单一,各个公司接口难统一协调,除了免费,说真的还真想不出有什么优点,问题多了,解决的人就多了,这个就是楼主说的背后的力量吧。学java的虽然很多,那是因为code而code,记得那时候听别人说java的网络编程效率多高,我拿过来写Socket程序的时候,发现java的思路真的很清晰,线程池调用,不过效率不高,后来用dotnet重写的时候,发现了异步这个东东,效率比线程池高出不少,为它所折服,更别提完成端口了(不知道Java仙现在有没有实现异步或者完成端口)。
不过话说回来了,楼主说的有道理,java的确适合学习模式和框架,但是模式和框架最终也是为人所用。
wind2003ct 2007-04-14
  • 打赏
  • 举报
回复
说什么呢?我咋就听不懂呢
HarleyTung 2007-04-13
  • 打赏
  • 举报
回复
我第一次helloworld是在2005年的春天
HarleyTung 2007-04-13
  • 打赏
  • 举报
回复
我永远支持.net
yong_web 2007-04-13
  • 打赏
  • 举报
回复
在.net 区说.net好的人多.在JAVA区说JAVA好的人多.
SkyeyGarden 2007-04-13
  • 打赏
  • 举报
回复
10年还在语言种选择,太什么了把..

在.net 的很多架构都是抄java的.如:aop,orm,soa等.

但是又如何呢?人都是要从发展的阳光看世界的,而且在中国太专注技术不行.
WinWing 2007-04-12
  • 打赏
  • 举报
回复
我的感悟是,勤修内功才是王道.
完毕!
sbqcel 2007-04-12
  • 打赏
  • 举报
回复
louise135(Ю猪哥孔明┡)
你能不能有点自己的主见阿;


真正的武林高手用树叶都能杀人,并非要用刀剑之类
louise135 2007-04-12
  • 打赏
  • 举报
回复
碰巧路过!我跟楼主的学习过程差不多 清一色的MS工具,不过只是接触过JAVA的东西 不太了解,看了楼主的经历之后还真打算考虑去了解一下J2EE呢 看到跟贴的牛人们 我决定了坚持就是胜利
xiang_li5257 2007-04-12
  • 打赏
  • 举报
回复
搬板凳,看上面的牛人。mark
加载更多回复(16)

7,774

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 非技术区
社区管理员
  • 非技术区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧