当前位置: 首页 > news >正文

解惑:学.Net还是学Java?

   因为.Net和Java是国内市场占有率最高的两门技术,对于准备学习编程语言的初学者来说,.Net和JAVA是初学者首先考虑的两门技术,因此很多人一遍遍的问“学.Net还是学Java”,社区中也每天都有“.Net控”在唱衰Java,也有“Java控”在唱衰.Net,一时间硝烟四起,让初学者更加迷惑。

  由于.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入门容易,深入同样难”这句话的意思。有人会问“哪些知识属于深入的知识呢?”,比如你不仅要会用ADO.Net,还要研究ADO.Net架构中的设计模式,再比如你不仅要会拖拉ASP.Net控件,更要明白ASP.Net控件内部发生了什么。

    ,对.Net的描述中有或多或少的偏向,但是抛去个人因素考虑,我没有暗示Java好还是.Net好,我自己本身是学。net的。而且.Net和Java并不像360和QQ那样必须二者选其一,并不像很多初学者认为的那样“学一门语言就靠这门语言吃一辈子”,工作中很可能这个项目用Java,那个项目用.Net,因此你可以喜欢某个语言,但是不要抱着一门语言不放,更不用担心“Sun被Oracle收购了,Java是不是完了?”、“我学.Net,如果微软没落了我是不是就失业了”之类的问题,不同语言只是不同的工具,换了一个新的工具可以很快的熟悉新的工具,大部分内容都是相通的,比如java中的web开发很熟悉了,转而用ASP.Net也会发现大部分东西都是和JavaWeb一样的,很快就能上手ASP.Net,难道你现在用的是诺基亚手机,你会害怕诺基亚倒台你就不会用手机了吗?“Java完了、微软死了”这类问题不是开发人员去关心的事情,而是华尔街那些金融大鳄去考虑的问题,咱们只管用技术去赚钱养家就是了

转载于:https://www.cnblogs.com/Mr-Daian/articles/3055327.html

相关文章:

  • 关于python写文件时的回车符
  • MOSS 2013研究系列---不常用函数总结……
  • 添加图片如何点击a标签, 弹出input file 上传文件对话框
  • (TOJ2804)Even? Odd?
  • Smack文档(翻译)转
  • UML 中关系详解以及在visio中的表示
  • linux下查找文件的常用命令
  • struts2-自定义拦截器
  • 敌兵布阵
  • Mac系统如何显示和隐藏文件
  • 无法读取配置节system.web.extensions,因为它缺少节声明
  • 【语言处理与Python】3.3使用Unicode进行文字处理
  • Android应用程序组件Content Provider应用实例
  • 整数数组关于大整数包的设计!
  • LINQ to Sql系列一 增,删,改
  • 「面试题」如何实现一个圣杯布局?
  • HomeBrew常规使用教程
  • iOS | NSProxy
  • Less 日常用法
  • python docx文档转html页面
  • Redis提升并发能力 | 从0开始构建SpringCloud微服务(2)
  • SegmentFault 2015 Top Rank
  • text-decoration与color属性
  • 阿里云前端周刊 - 第 26 期
  • 基于组件的设计工作流与界面抽象
  • 解决iview多表头动态更改列元素发生的错误
  • 入职第二天:使用koa搭建node server是种怎样的体验
  • 问题之ssh中Host key verification failed的解决
  • 我的面试准备过程--容器(更新中)
  • 自定义函数
  • postgresql行列转换函数
  • #NOIP 2014# day.2 T2 寻找道路
  • #控制台大学课堂点名问题_课堂随机点名
  • ${factoryList }后面有空格不影响
  • (1)(1.13) SiK无线电高级配置(六)
  • (1)STL算法之遍历容器
  • (C语言)求出1,2,5三个数不同个数组合为100的组合个数
  • (function(){})()的分步解析
  • (pytorch进阶之路)CLIP模型 实现图像多模态检索任务
  • (二)Linux——Linux常用指令
  • (更新)A股上市公司华证ESG评级得分稳健性校验ESG得分年均值中位数(2009-2023年.12)
  • (每日持续更新)jdk api之StringBufferInputStream基础、应用、实战
  • (未解决)macOS matplotlib 中文是方框
  • .bat批处理(一):@echo off
  • .htaccess配置重写url引擎
  • .net framework profiles /.net framework 配置
  • .NET MVC、 WebAPI、 WebService【ws】、NVVM、WCF、Remoting
  • .net web项目 调用webService
  • .NET6 开发一个检查某些状态持续多长时间的类
  • :not(:first-child)和:not(:last-child)的用法
  • @ComponentScan比较
  • [AX]AX2012 R2 出差申请和支出报告
  • [BZOJ1008][HNOI2008]越狱
  • [C/C++随笔] char与unsigned char区别
  • [c++] 什么是平凡类型,标准布局类型,POD类型,聚合体