.NET Vs Java

总的来说,
.NET 可以看成是正规军
四平八稳,应有尽有,手到擒来
Java 可以看成是游击队
短小精悍,灵活自如,剑走偏锋

从几个角度来看吧

1、学习曲线
任何能力都是习得的,从玩单板、下厨房到开发软件项目。
rookie -> master, 这是我们在做任何事的时候,首先考虑的问题。
Frankly speak, 微软在这方面好的有些让人义愤填膺。
MSDN + 在线视频 + 多如牛毛的教材 + 偏向于新手的界面设计
刚上手时,一不小心买错了,想看 ASP.NET  的 C# 开发,买到了 VB.NET 开发 Framework 1.1 上 WinForm 的资料
没关系,照样看,而且这些经验在以后的开发过程中都用的到
EQ > 80 , IQ > 40, age > 10 你可以轻松入门做 .NET 的程序员了

Java 的学习曲线几乎是90度的
也就是说,要有足够的心理承受能力,面对自己是一个完全菜鸟的境地
能买到的书,大部分都只讲某一特定方面,比如 Java语法、java 编程思想、JSP、JSF...
几乎很难找到一本拿着就可以照做出一套商业系统的教材
有些类似《xxx 入门指南》《xxx 第一步》的书
里面用的构架、开发工具几乎都是过时的,或者和你的团队不在一个战壕里
自己想埋头一个人搞出一套来,几乎不可能(有这样的,我知道,但>95%的概率你不是这类人)
学习的最佳途径是什么?
拜师学艺!
找一个比较浅显易懂的项目,跟着师傅一起做
从 java环境、开发工具、调试技巧、ORM、各类框架、发布和维护
整个生命周期如果你打算自己一个人拿下,从成本上看是不值得的
先不要考虑什么都明白,能搞明白那一样都是很开心的事儿
在充分信赖别人的工作成果的基础上,看自己能做什么,这是菜鸟正确的学习态度

2、开发社区

不知道是自己没有摸着门道还是英文功底太差
IMHO:
.NET 社区的氛围比 Java 的开发社区氛围要“Simple”很多

.NET 社区里,如果你有个棘手的问题,提出来。能解决的很快就有人凑上来说,仔细搜索一下,大部分的人都已经遇到你提出的问题。解决不了的你也就不用太指望了,也许M$会在下一个版本中修复的。现在,绕行。

.NET 社区,散发着实用主义精神的光芒,是地地道道的“项目加速器”。

Java 社区里,你提出一个问题,有人说是你的选择的框架错了,有人告诉你是设计模式的问题,有人提供一段不知道需要依赖那些 jar包的程序,有人告诉你这个问题的本质是什么,有人在半年之后轻松搞定了问题然后被无数的网站转载之。反正到时候你已经早早把这个问题放在脑后,或者深埋在系统里让你的后人痛苦万分只能重构。

Java 社区,是江湖,是规矩太多到没有规矩,满口的专业术语和单词缩写构成的迷宫,为了让你看明白答案,URL也许会将你带回问题。

我们都知道,这个世界其实没这么简单。可惜,谁喜欢别人将复杂性一股脑塞在自己的面前?
装牛X容易,难的是用简单可靠的方式解决问题。

3、框架
.NET 里面,也有框架,还没得选,你跟着M$一路跑下去
Basic、MS C、C++、Foxbase、FoxPro、VisualFoxPro、VisualBasic、Framework 1.0、1.1、2.0 ...(听说3.5已经出来了)
你说这些不是框架,Enterprise Library、AJAX.NET 总算了吧?
区区不才这些还都玩过,一个字,好用。
你照着例子5分钟内上手,半天内你就有所小成
但想成为大师,你需要微软的内部资料

Java 的世界,框架都是用“横空出世”“才华满溢”“独步武林”“一统天下”这些形容词的
反正一年之后,你也不确定到底大家还都用啥,也许你已经成为这个构架的领军人物赚了千万美金,也许这个开源构架已经宣布停止更新或者和别人合并
Log4J, Dom4J, Spring, Hibernate, JPA, JSP, JSF, Struts, Seam, EJB3 ...

我们象勤奋的水獭,用快速的筛选、抽象、吸收、进化能力,抵御着短视、反复无常、变态夸张的需求如潮水般蔓延,求得一隅生存之地

 

你可能感兴趣的:(java,.net,asp.net,VB.NET,WinForm)