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

简介:作者.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. Python3.5 numpy,scipy,安装

    不是特别难,先保证环境变量正确配置 首先,安装了VS2015; 第二,在Python3.5安装路径中有一个Scripts文件夹,里面有pip.exe或者类似的可执行文件,安装一下: 第三,下载相对应的 ...

  2. 或许是介绍Android Studio使用Git最详细的文章

    欢迎访问我的个人博客转发请注明出处:http://www.wensibo.top/2017/03/12/GitOnAS/ 前言 本文较长,图片很多很多,流量党慎入 使用Git已经有一段时间了,但是之前 ...

  3. 第二期培训(PING问题定位指导)心得

    一.什么是 PING DOS 命令,一般用于检测网络通与不通 ,也叫时延,其值越大,速度越慢 PING (Packet Internet Grope),因特网包探索器,用于测试网络连接量的程序.Pin ...

  4. Struts2中Action配置的三种方式

    <!-- 方案一:一个action对应一个方法; --> <action name="add" class="com.gxxy.struts.kp03_ ...

  5. 从Hash Killer I、II、III论字符串哈希

    首先,Hash Killer I.II.III是BZOJ上面三道很经典的字符串哈希破解题.当时关于II,本人还琢磨了好久,但一直不明白为啥别人AC的代码都才0.3kb左右,直到CYG神犇说可以直接随机 ...

  6. (30)批处理文件.bat

    批处理文件(bat) 简单的说,批处理的作用就是自动的连续执行多条命令 .编写bat处理文件可以使用记事本的方式: 常见批处理文件的命令: echo 表示显示此命令后的字符 tiltle 设置窗口的标 ...

  7. cuda编程学习1——hello world!

    将c程序最简单的hello world用cuda编写在GPU上执行,以下为代码: #include<iostream>using namespace std;__global__ void ...

  8. Android设计模式之代理模式

    代理模式: 为其他对象提供一种代理以控制对这个对象的访问 Subject类定义了RealSubject和Proxy的共用接口,这样就在任何使用RealSubject的地方都可以使用Proxy inte ...

  9. html行内元素,块元素,空元素

    行内元素:img    span    input  a  b  br  lable   ; 块元素:dl  dt  dd  div  form  table  li  ol  ul  li  h1- ...

  10. less可以做什么?less详解!(less嵌套选择器实现纯CSS二级导航)

    前端技术众多,作为一名前端工程师,我们每接触新技术首先要懂得此技术的优势和劣势,这是最基本的.往深入了说还需要懂得技术的应用场景,配合的技术等,方便为以后架构做准备.而less作为一门CSS预处理语言 ...