论.net平台的切身感触(惑)
这篇博客只是作者客观看法,不喜勿喷,条条大路通罗马,路不同风景也不一样,接下来的路该怎么走?
简介:作者.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平台的切身感触(惑)的更多相关文章
- .NET平台开源项目速览(6)FluentValidation验证组件介绍与入门(一)
在文章:这些.NET开源项目你知道吗?让.NET开源来得更加猛烈些吧!(第二辑)中,给大家初步介绍了一下FluentValidation验证组件.那里只是概述了一下,并没有对其使用和强大功能做深入研究 ...
- java 平台 权限管理
最近在做公司内部的物流业务平台的权限管理,感触颇多.记录一下 权限管理分两部分:数据权限和操作权限. 数据权限: 这个是和用户相关的. 因为平台是多机构的,所以再考虑数据权限的时候,是按照机构来管理的 ...
- HTML5学堂 全新的HTML5/前端技术分享平台
HTML5学堂 全新的HTML5/前端技术分享平台 HTML5学堂是做什么的? HTML5学堂~http://www.h5course.com~由多名热爱H5的讲师们组成的一个组织.致力于构建一个前端 ...
- 20165309 《网络对抗技术》实验一:PC平台逆向破解
20165309 <网络对抗技术>实验一:PC平台逆向破解 目录 实践目标 基础知识 实验原理.内容及步骤 问题与解决 实验收获 一.实践目标 本次实践的对象是一个名为pwn1的linux ...
- NET平台开源项目速览(6)FluentValidation验证组件介绍与入门(转载)
原文地址:http://www.cnblogs.com/asxinyu/p/dotnet_Opensource_project_FluentValidation_1.html 阅读目录 1.基本介绍 ...
- ITOO高校云平台之考评系统项目总结
高校云平台,将云的概念引入到我的生活, 高校云平台主要是以各大高校的业务为基础设计开发,包含权限系统,基础系统.新生入学系统.考评系统,成绩系统.选课系统,视频课系统.3月份參加云平台3.0的开发,至 ...
- Cocos2d-x--iOS平台lua加密成luac资源方法和Jsc文件<MAC平台开发试用--windows平台暂未研究>
首先要说.近期真的是太忙了.好久没写博客了,今天正好有空,就写一下近期在写游戏中的一些发现: 话说,基于Cocos2dx 引擎 + 脚本写游戏,至今的感触就是能够进行增量更新和即时编译 ...
- 课堂管理系统;在线教辅平台;java课设
# 白泽智慧教辅平台 **说明:** 运行时需要修改位置: bzedu\src\main\resources\application.properties bzedu\src\main\resourc ...
- 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. ...
随机推荐
- 模拟Struts2框架Action的实现
1.具体项目结构如下:
- WF学习思维导图
原文 来自我的有道笔记-老文重发系列 如果配置加载核心服务,那么需要将持久化服务和跟踪服务放在一个数据库中! 1.用工作流的优点 a.提供将复杂任务分解的途径,通过将每个操作分解到活动中更便于业务 ...
- css布局与盒子模型
一. 盒子模型 注: 1.红色为border; 2.背景应用于内容.内边距.边框组成的区域: 3.Width和height指的是内容区域的高度和宽度. 边框属性: 1. padding属性:( ...
- Android知识点网址
1.proguard字段详解 http://blog.csdn.net/jddkdd2/article/details/8858909 2.android提示框(时间,普通单选.多选对话框),常用控件 ...
- Linux块设备驱动(二) _MTD驱动及其用户空间编程
MTD(Memory Technology Device)即常说的Flash等使用存储芯片的存储设备,MTD子系统对应的是块设备驱动框架中的设备驱动层,可以说,MTD就是针对Flash设备设计的标准化 ...
- C++ Primer 5 CH4 表达式
4.1 基础 函数调用也是一种特殊的运算符,它对运算对象的数量没有限制. C++ 的表达式要么是左值,要么是右值.左值可以位于赋值语句的左边,右值则不可以. 当一个对象被用作右值的时候,用的是对象的值 ...
- es6 箭头函数(arrow function) 学习笔记
箭头函数有两个好处. 1.他们比传统函数表达式简洁. const arr = [1, 2, 3]; const squares = arr.map(x => x * x); // 传统函数表达式 ...
- [UWP]了解模板化控件(3):实现HeaderedContentControl
1. 概述 来看看这段XMAL: <StackPanel Width="300"> <TextBox Header="TextBox" /&g ...
- 大数据学习记录之ssh绵密登录
1,在服务器端 ssh-keygen 2,使用ssh-copy-id 192.168.2.146 3,再测试一下ssh 192.168.2.146 exit 退出当前登录 具体流程为:A,B两台机器 ...
- 【C#】组件分享:FormDragger-窗体拖拽器
适用:.net2.0+ winform项目 介绍: 类似QQ.迅雷等讲究UI体验的软件,都支持在窗口内多处地方拖动窗口,而不必老实巴交的去顶部标题栏拖,这个组件就是让winform也能这样随性拖拽,随 ...