`
- 浏览:
59953 次
- 性别:
-
曾经也纠结过学.net 还是学 java 就copy了一篇文章 希望对也有疑惑的人有些帮助
解惑:学.Net还是学Java?
作者:杨中科
因为.Net和Java是国内市场占有率最高的两门技术,对于准备学习编程语言的初学者来说,.Net和Java是初学者首先考虑的两门技术,因此
很多人一遍遍的问“学.Net还是学Java”,社区中也每天都有“.Net控”在唱衰Java,也有“Java控”在唱衰.Net,一时间硝烟四起,让初学
者更加迷惑。
做为一个.Net、Java、Delphi、Python、PHP等语言都进行过有一定复杂度的项目开发的人来说,我对任何一门语言都没有宗教式狂热崇
拜,因此我也相对理性的对整个问题进行分析。
从北京、广州、上海等地区2010年的就业统计数据(由于没有找到更权威的数据,这些数据是我对主流招聘网站和技术网站的相关数据
进行的并不是太严谨的分析)来看,.Net和Java的职位数量比例为2:3,从就业网站和主要技术社区数据来看,2010年.Net和Java的学习人
员数量比例为1:3。从数据上看,.Net的职位绝对数量比Java低一些,不过Java学习人员数量比.Net学习人员高出3倍,因此.Net职位的竞争
激烈程度低于Java。
由于.Net秉承了微软技术的入门简单的特点,经过短时间的学习就可以掌握拖拉控件的快速开发方式,很多人被.Net的快速开发方式所满
足,认为自己“学成了”,不再深入研究,因此人才市场上充斥着很多只会拖控件、而不懂.Net更深入一步技术的.Net开发人员,比如很多
ASP.Net的书上都是讲ASP.Net服务端控件,很多所谓“精通ASP.Net”的人连什么是Http、HTML、JavaScript、Dom等基本概念都稀里糊
涂,实际公司项目中很多功能点的实现不是简单的拖一个ASP.Net服务端控件就能搞定的,因此看似学习.Net的人非常多,但是真正满足企
业要求的人则比较少;而Java则入门门槛比较高,如果想要配置一个Hello World级别的学习环境就会涉及到很多技术,开发环境也要学习
者自行配置,对于初学者来说可能花费一周时间都无法配置一个最简单的环境出来,Java的开发环境也不像.Net开发环境那么可用性强,
Java和.Net的区别就像Windows和Linux的区别,正因为Java学习门槛非常高,很多学习者被淘汰了下来,这样能够撑过一个个难关学习下来
的开发人员都是水平比较高的人员。因此.Net初级开发人员的工资平均是比Java初级开发人员的工资平均略低的。但是由于.Net中高级人才
非常缺乏,因此掌握.Net深入技术的开发人员在企业内部是非常吃香的,招聘人员经常发出这样的感叹“招合适的Java工程师能招来一堆,
招合适的.Net工程师一个月都招不来几个”。
.Net入门快,在.Net中微软为开发人员提供了一套最佳的技术架构搭配、集成的开发环境,用微软的技术架构开发出的系统就可以保证最
好的效果,而不用像Java开发人员那样去学很多开源框架再去学习搭建技术架构、开发环境,因此.Net学习周期比Java短,有了语言基础后
再进行集训式的就业班学习,那么.Net学习者学习3个月可以进入就业,Java学习者需要5个月可以进入就业。
微软的本地化推广工作做得非常好,因此学习.Net有大量的中文资料可以参考,因此除非研究很高深的领域,否则中文资料基本能满足
开发者的需求;而Java由于走的是高端路线,因此除了初学者资料外,大部分Java资料都是英文的,学习Java需要参考很多英文资料。因此
如果英文非常好的学员学习Java就会很轻松,而英文不是很好的学员学习.Net会更好。
综上,Java入门门槛比较高,需要有足够的毅力和百折不挠的精神,只要你能坚持下来你就可以将很多人在入门门槛上就将很多竞争者
甩在身后。.Net入门门槛比较低,装上VisualStudio就可以马上进行开发,不需要进行太多的配置、不需要学太多基础知识,这样可以很轻
松的掌握入门.Net学习,是有很成就感的事情,能让你有兴趣进一步学习,但是你不能止步于此,因此你会发现身边也有无数的人也是
“轻松入门”,你就需要继续深入学习,深入学习同样需要毅力和探索的精神,你要在这个阶段上把绝大部分竞争者甩在身后,小吹一把:
我教的有个学生面试回来说“在咱班里比我感觉我掌握的不是太好,但是和一起参加面试的北大某鸟的学生比我简直就是高手”,呵呵。
在我讲“.Net入门简单”的时候,有学生问“.Net把问题都简化了岂不是.Net程序员都不值钱了?”,我的回答是“微软简化的是重复性的
东西和低级的东西,这样我们就能从这些低级的工作中脱身出来研究更深入的东西,因此.Net把问题简化了只是使得那些只沉迷于简单的
东西的人不值钱了,会使得研究深入的人更值钱”,这就是“.Net入门容易,深入同样难”这句话的意思。有人会问“哪些知识属于深入的知识呢?”,比如你不仅要会用Net,还要研究架构中的设计模式,再比如你不仅要会拖拉控件,更要明白
ASP.Net控件内部发生了什么。这里允许我做一个广告,如果你想从学习一开始就尽快脱离控件型开发人员的行列,你可以跟着视频教程
《传智播客.Net视频教程》学习,然后每天登陆博客园等高端.Net社区,你会发现你进步是非常快的。
可能因为我最近都是在讲.Net的课程,对.Net的描述中有或多或少的偏向,但是抛去个人因素考虑,我没有暗示Java好还是.Net好,请根
据自己的情况进行选择。而且.Net和Java并不像360和QQ那样必须二者选其一,并不像很多初学者认为的那样“学一门语言就靠这门语言吃
一辈子”,工作中很可能这个项目用Java,那个项目用.Net,因此你可以喜欢某个语言,但是不要抱着一门语言不放,更不用担心“Sun被
Oracle收购了,Java是不是完了?”、“我学.Net,如果微软没落了我是不是就失业了”之类的问题,不同语言只是不同的工具,换了一个
新的工具可以很快的熟悉新的工具,大部分内容都是相通的,比如java中的web开发很熟悉了,转而用ASP.Net也会发现大部分东西都是和
JavaWeb一样的,很快就能上手ASP.Net,难道你现在用的是诺基亚手机,你会害怕诺基亚倒台你就不会用手机了吗?“Java完了、微软死
了”这类问题不是开发人员去关心的事情,而是华尔街那些金融大鳄去考虑的问题,咱们只管用技术去赚钱养家就是了。
分享到:
Global site tag (gtag.js) - Google Analytics
相关推荐
尽管Java的职位数量略多于.Net,但考虑到Java的学习人数远高于.Net,.Net职位的竞争程度实际上更低。 - **学习人员比例**: 同一时期,.Net与Java的学习人员数量比例为1:3,这意味着更多的人倾向于学习Java,这也导致...
在IT行业的技术选型中,Java与.NET框架之间的选择一直是一个热门话题,这不仅关乎个人职业发展路径,也直接影响到企业项目的成功与否。从给定的文档内容来看,作者通过对比分析,阐述了选择Java或.NET的理由,以及...
标题与描述中提到的"通过学习.net掌握Java"这一表述实际上包含了两个主要的IT知识点:.NET框架的基础学习以及Java编程。...不过,掌握了面向对象编程的基本原理,无论是学习.NET还是Java,都将更加得心应手。
【一周学会C#——java程序员转.NET必看】 C#是一种由微软开发的面向对象的编程语言,设计用于.NET Framework上。对于从Java转到.NET平台的程序员来说,理解C#的基本概念和语法是非常重要的。以下是一些关键知识点:...
标题中的“J2EE项目代码全Java .NET”暗示了这是一个包含了使用Java和.NET技术开发的J2EE项目的集合。J2EE(Java Platform, Enterprise Edition)是Oracle公司提供的一个用于构建企业级分布式应用程序的平台,它支持...
### 从事Java还是.NET:深度解析与建议 #### 标题和描述中的核心知识点解析: 在探讨“日后从事Java还是.NET好”的问题时,我们首先需要理解这两个技术栈的基本概念、应用场景以及各自的优缺点。 **Java**:一种...
在实际开发中,选择Java还是.NET作为服务端和客户端,主要取决于项目需求、团队技术栈以及对跨平台兼容性的考虑。对于开发者来说,理解这两种语言如何互调的细节至关重要,有助于提高系统的可扩展性和集成能力。
ASP.Net专业学习步骤及方法介绍 学.Net还是学Java? 【我来解惑】.Net应该学什么怎么学(一) 【我来解惑】.Net应该学什么怎么学(二) 【我来解惑】.Net应该学什么怎么学(三)
### JAVA与.NET的发展前景对比分析 #### 一、JAVA与.NET概述 - **JAVA**:由Sun Microsystems(后被Oracle收购)开发的一种面向对象的编程语言。JAVA以其跨平台性著称,即“一次编写,到处运行”,适用于企业级...
IKVM(IronJava Virtual Machine)是一个开源项目,它实现了Java虚拟机(JVM)和Java类库,并将它们集成到.NET Framework中。这样,开发者可以在.NET环境中运行Java应用程序,同时也能利用.NET平台的特性和资源。这...
Java 和 .NET 是两个主要的软件开发平台,它们各自提供了丰富的工具和技术来构建各种类型的应用程序。...无论是在Java的世界还是.NET的世界,扎实的基础和灵活的思维都将为解决问题提供巨大的帮助。
该学Java或.NET?
本实例代码着重于Java与.NET平台之间的RSA加密解密及签名验签操作,这对于跨平台的数据安全通信具有实际意义,例如与支付宝POS对接时。 1. **RSA算法基础**: RSA是一种基于大数因子分解困难性的公钥密码体制。它...
《.NET For Java Developers:Migrating To C#》是一本专为有Java背景的开发者设计的指南,旨在帮助他们顺利过渡到C#编程环境。这本书由Addison-Wesley出版社出版,是英文版的电子书,对于希望深入理解.NET框架和C#...
ASP.NET 是微软公司推出的一种基于.NET Framework的Web应用程序开发平台,它为开发者提供了一套高效、安全且易于使用的工具和框架,用于构建动态网站、Web应用程序和服务。ASP.NET的学习资料通常包括教程、示例代码...
【Java/.NET程序员简历模版】是一个为求职者提供的标准参考模版,主要适用于寻找Java或.NET软件工程师职位的专业人士。这份简历展示了应聘者的基本信息、教育背景、工作经历、项目经验、技能专长和证书等内容,对于...
学习ASP.NET是一个逐步深入的过程,尤其对于初学者来说,遵循一套完整的流程至关重要。...记住,实践是检验理论的最好方式,理论学习的同时,不断通过项目练习巩固所学,将使你更快成为ASP.NET开发的专家。
### ASP.NET与JAVA学习顺序 #### ASP.NET学习顺序 在开始深入探讨ASP.NET的学习路径之前,我们先简要了解一下ASP.NET的基本概念。ASP.NET是由微软公司开发的一种用于构建动态网页和Web应用程序的技术框架。它基于...
【标题】:“学Net还是学Java” 【描述】:针对初学者在选择学习.Net或Java时的困惑,本文分析了两种技术的市场占有率、就业情况、学习难度、入门门槛、学习资源以及职业发展等方面,旨在为学习者提供决策依据。 ...