难于传播的正能量,来点干货
上一篇开个头没开好,大家不太喜欢钱,规划,未来这些东西,喜欢技术,那就只谈技术好了。
还是那句话,程序员的黄金区(25-35)很短暂,白银区(35-45)也无奈。技术博大精深,怎么才能投入对得起产出?
本人不是什么技术大牛,只是干的时间久了见过的多点,起名最最简单,也是希望在技术泥潭里化繁为简。
先说.net
.net从蛋生到现在VS2012, Framework4.5,有了不少变化,积累了相当的东西。现在的.net已经不是当年的吴下阿蒙了,一般人难于全盘掌握,应用更不可能,怎么从里面取到合适的东西很重要。
大原则:选语言。
首先看语言,里面包含了VB, C#, C++等。VB可以无视了(当然你会有不一样的观点),C++和C#选一个。实际上你选了.net,就不应该选C++,原因不多说,有个F#这国内不太了解,没听说有谁在用,略过,那么简化到语言只有C#了。
第二:放弃老旧的平台
一个.net里,历史原因到现在,产生了N个小平台,Winform, WPF, Webform, MVC, SL, Web Service, WCF, WebApi等。一样根据工作环境,果断放弃一些。
SL不用说了,MS自已就放弃了,WPF是Windows自已用的多。性能上有大问题,一般没啥人用,所以基本上,如果没有必要,WPF, Blend可以放弃了。
一般码农做开发时,可能会做Win平台或者Web平台,现在Win平台不太流行了,所以Winform也可以放弃了。
Webform 能做的,MVC也能做,还能做的更好,所以Webform也可以放弃了。
Web Service, WCF能做的, WebAp能做还能做的更好,所以Web Service, WCF也可以放弃了。
而MVC中,从MVC1.0到现在4.0,各不相同,那么MVC4以下的都可以无视了。
所以只小平台剩下MVC4+WebApi了。
第三:数据库框架
在.net里,从最早的ADO.net,到Linq to sql 到Entity framework.还有MS单独的Enterprise Library这类的,还有第三方的各种ORM, Nhibernate等。
这里面linq to sql MS自已放弃了,可以无视,ADO.net和Enterprise Library已经Out了,放弃,第三方ORM大多数就是垃圾,用来增加你程序的Bug和增加你的学习量及开发量的,更本就应该无视。
Entity framework发展了N版本,只有VS2012的算比较成熟了,干麻不用呢?以前版本的可以无视了。
所以只有Entity framework和Nhibernate了。当然,传统模式用SQL的,直接用Sql helper就可以了,写SQL 拼字符串。
第四:类库
.net庞大的类库,是为上面等各种技术,小平台,小框架服务的,现在它已经庞大到没有人可以完全了解(实际上也没有这个必要),那么首先把上面非红字相关的类库的部分放弃得了。
其它就是一些基础类库,比如集合,反射,IO操作,网络操作,这些开发常用的掌握了就成了。
第五:工具
VS2012
其它的有想到的再补充,经过整理简化,庞大的.net技术体系,变得有点小清新了。一个新手,按这个步骤来,小半年时间就能达到一个老鸟的技术水准(经验方面是无法快速弥补的)。这里面被放弃被抛弃的技术的概念,关键是搞清楚它是什么,能干什么用就成了。
但就算小清新后的.net技术,其实也有很丰富的内涵,基体用起来还会涉及到方方面面的东西,不是一两句话说得清楚的。如果有必要,回头有空再写一篇细点的。