这篇博客只是作者客观看法,不喜勿喷,条条大路通罗马,路不同风景也不一样,接下来的路该怎么走?

简介:作者.net程序员一枚,工作已有四年,接触过.net平台winform,webform,mvc的开发,目前主要是web开发这块,当前公司处于闲置状态,偶尔接下小单子,喜欢学习,对java与php都不排斥.

一.论.net开发人员锐减,何故?

  java语言横空出世,面向对象等优势迅速让它风靡全球,微软不甘落后C#应运而生,特别是图形界面这块,winform后来居上,外人对.net的看法很多还停留在拖控件时代,asp.net也取得了非常不错的效果,淘宝的前身,京东就使用的asp.net,由此可见一斑,在面向对象编程语言里与java并驾齐驱,依稀记得C#当年的豪言壮语

  十五年过去了,企业在诟病.net太难招了,良莠不齐,就拿web领域来说,php,java招聘就简单的多,节约了不少人力成本,这又是什么原因造成的?

  1.薪资过低(3-4年工作经验,深圳标准)

  .net             10-15k

  php              20-30k

  java             18-25k

  android/ios         25k+

  难以相信,为什么会有这么大的差异,莫非.net的就不加班?长的丑?

  2.企业因素

  .net             中小型企业

  java           没有限制

  php           没有限制

  大企业里用.net的凤毛麟角(国内),企业的大小待遇简直是天差地别,你在一个小公司,人微言轻,兢兢业业工作存钱一年到头也就存几万块,还不如别人一个年终奖,是因为自己不够努力吗?

  3.开发成本

  平心而论,java并不是一门敏捷型(快速型,速成型)开发语言,但却是一门高度灵活,规范,重量级的语言,php除了上面的规范和重量级其它都符合,所以有一种非常搞笑的现象,三个程序员,java,php,.net分别去开发一个web程序,这里只有两种结果,如果在php涉及的范围(已经有类似php程序,如商城,论坛),毫无疑问php程序员轻松完成,.net居后,java最慢,另一种就是.net先完成了,如果是完成一个大工程,100人协作,毫无疑问java第一,做.net开发的时候我常常重复的做一件简单的事,业务变代码改,这是很正常的现象,很少能找到复用的项目(修改>重新开发的成本),做php的最舒服了,入门快,开源项目多,ecshop上面找找可以节约很多时间,在框架上面开发一套模板就好了,java不愁,大项目根本就没有类似的,慢慢开发就好了

  4.软件成本

  中小企业当软件成本 < 开发成本,基本上一台云主机,部署数据库 + iis就可以了,国人版权意识很淡薄,小东西用用盗版无所谓,在大企业服务器和数据库的成本将是一个庞大的数字,使用Linux + mysql多么完美的方案,幻象下windows server免费了估计也就没Linux什么事了,现在微软就在做一件非常有趣的事,把Linux上面能跑的东西都搬到windows上,比如redis,nginx.... windows10还内嵌了Linux子系统,.net开始开源,向跨平台发展这是一个好兆头.

二.论编程思想

  入门简单深入难,这是大家经常听到的一句话,在php和.net尤为常见,当我们习惯了简单的开发模式就会排斥复杂的解决方案,习惯都是慢慢养成的,当我们习惯了就觉得理所当然,这里就拿mvc这个模式来举例,在.net里面是最简单,你不需要引用框架,不需要配置,直接创建mvc的项目就好了,新建一个控制器,在控制器Index这个方法里右键添加一个视图,写上一句hello word,运行项目,搞定收工,只需要明白mvc模式执行的过程(顺序)就可以了,.net程序员对微软真是太依赖了,假设微软不推出mvc这个模式,可能现在还是用webform,这种现象在java跟php里不存在,很奇怪,还有一个例子是在ORM这块,微软的EF性能是众多orm里比较差的,但是在.net里使用最广泛,仔细想想也就不奇怪了,连接数据库需要安装数据库驱动,很多人都不知道,但在java里是常识,微软把一切都封装的太完美了,换句话说你用微软的东西它都给你封装好了,谁有现成的不用还去研究那些东西呢,当没有现成的时候就束手无策了,这个世界不是平的,只会平地里行走的很难爬山,会爬山的人肯定会走平地,只是跑的没你快,然而宝藏大多藏在深山老林,一味指望微软铺路的人总有一天会被落下的.

论.net平台的切身感触(惑)的更多相关文章

  1. .NET平台开源项目速览(6)FluentValidation验证组件介绍与入门(一)

    在文章:这些.NET开源项目你知道吗?让.NET开源来得更加猛烈些吧!(第二辑)中,给大家初步介绍了一下FluentValidation验证组件.那里只是概述了一下,并没有对其使用和强大功能做深入研究 ...

  2. java 平台 权限管理

    最近在做公司内部的物流业务平台的权限管理,感触颇多.记录一下 权限管理分两部分:数据权限和操作权限. 数据权限: 这个是和用户相关的. 因为平台是多机构的,所以再考虑数据权限的时候,是按照机构来管理的 ...

  3. HTML5学堂 全新的HTML5/前端技术分享平台

    HTML5学堂 全新的HTML5/前端技术分享平台 HTML5学堂是做什么的? HTML5学堂~http://www.h5course.com~由多名热爱H5的讲师们组成的一个组织.致力于构建一个前端 ...

  4. 20165309 《网络对抗技术》实验一:PC平台逆向破解

    20165309 <网络对抗技术>实验一:PC平台逆向破解 目录 实践目标 基础知识 实验原理.内容及步骤 问题与解决 实验收获 一.实践目标 本次实践的对象是一个名为pwn1的linux ...

  5. NET平台开源项目速览(6)FluentValidation验证组件介绍与入门(转载)

    原文地址:http://www.cnblogs.com/asxinyu/p/dotnet_Opensource_project_FluentValidation_1.html 阅读目录 1.基本介绍 ...

  6. ITOO高校云平台之考评系统项目总结

    高校云平台,将云的概念引入到我的生活, 高校云平台主要是以各大高校的业务为基础设计开发,包含权限系统,基础系统.新生入学系统.考评系统,成绩系统.选课系统,视频课系统.3月份參加云平台3.0的开发,至 ...

  7. Cocos2d-x--iOS平台lua加密成luac资源方法和Jsc文件&lt;MAC平台开发试用--windows平台暂未研究&gt;

        首先要说.近期真的是太忙了.好久没写博客了,今天正好有空,就写一下近期在写游戏中的一些发现:     话说,基于Cocos2dx 引擎 + 脚本写游戏,至今的感触就是能够进行增量更新和即时编译 ...

  8. 课堂管理系统;在线教辅平台;java课设

    # 白泽智慧教辅平台 **说明:** 运行时需要修改位置: bzedu\src\main\resources\application.properties bzedu\src\main\resourc ...

  9. Linux平台 Oracle 10gR2(10.2.0.5)RAC安装 Part3:db安装和升级

    Linux平台 Oracle 10gR2(10.2.0.5)RAC安装 Part3:db安装和升级 环境:OEL 5.7 + Oracle 10.2.0.5 RAC 5.安装Database软件 5. ...

随机推荐

  1. select函数的用法

    首先介绍阻塞方式与非阻塞方式: 阻塞方式(block),就是进程或是线程执行到这些函数时必须等待某个事件的发生.如果事件没有发生,进程或线程就被阻塞,函数不能立即返回. 非阻塞方式(non-block ...

  2. jquery ajax标准写法

    $.ajax({ url:url,                      //地址 type:'post', //请求方式 还可以是get type不可写成Type 不让会导致数据发送不过去,使用 ...

  3. 简单总结在51cto平台的两日学习

    许久未曾静下心写东西,希望这会是一个好习惯的开始. 一次偶然的机会,大概是160415在Applestore邂逅51cto,看了点评果断下载,着实是一款优秀的学习软件. 由于最近正在用python写自 ...

  4. HTML入门第二天

    一. URL url:统一资源定位符 组成: 协议://域名:端口号/文件?参数名1=值1&参数名2=值2 例子:http://www.163.com:80/index.html?userna ...

  5. Repcached实现memcached复制

    1.介绍     repcached是日本人开发的实现memcached复制功能,它是一个单 master单 slave的方案,但它的master/slave都是可读写的,而且可以相互同步,如果 ma ...

  6. 深入理解java虚拟机之——JVM垃圾回收策略总结

    如何判断一个对象是否存活 引用计数算法:给对象中添加一个引用计数器,每当有引用它时,计数器值就加1:当引用失效时,计数器值就减1:任何时刻计数器为0的对象就是不可能再被使用.  Java虚拟机里面没有 ...

  7. Spring+SpringMVC+MyBatis+easyUI整合基础篇(十一)SVN服务器进阶

    日常啰嗦 上一篇文章<Spring+SpringMVC+MyBatis+easyUI整合基础篇(十)SVN搭建>简单的讲了一下SVN服务器的搭建,并没有详细的介绍配置文件及一些复杂的功能, ...

  8. 文件File

    前面的话 不能直接访问用户计算机中的文件,一直都是Web应用开发中的一大障碍.2000年以前,处理文件的唯一方式就是在表单中加入<input type="file">字 ...

  9. H5 拖放

    HTML 5 拖放 HTML5 音频 HTML5 画布 拖放(Drag 和 drop)是 HTML5 标准的组成部分. 拖放 拖放是一种常见的特性,即抓取对象以后拖到另一个位置. 在 HTML5 中, ...

  10. ipconfig显示IP地址情况

    1.以太网适配器 Local Area Connection 若电脑是本地连接,则ipv4地址是本机的ip地址,默认网关一般为本机所连接路由器的地址. 2.无线局域网适配器 Wireless Netw ...