日期:2014-05-20  浏览次数:20870 次

.NET从业两个月的感言以及迷茫
本帖最后由 mrz0953 于 2012-12-30 21:58:17 编辑
我是一名大四准毕业生,三本院校的..我读的是网络工程专业,大二之前的目标都是网络工程师(弄路由与交换的).. 那时也报名去学cisco的课程.

后来,暑假一次偶然的实习经历,让我干脆放弃干这行了. 随着TPLINK之类的傻瓜路由器交换机越来越傻瓜. 很多中小企业干脆连台可配的交换机都没有,至于IP路由?? 那根本就是运营商的事.. 

像我这种三本院校毕业的应届生,去运营商基本很渺茫,中小企业对网管的需求根本很小也很低下.没什么可发展的前景.(可能实际并不是这样的,但请大家不要喷我,我当时的认知就那个水平而已.)

于是,我决定还是走程序员的道路吧.我们这个专业,高级语言也是教的,是C#. 其实我不是很喜欢C#,原因很简单,微软的C#会让你很“懒惰”. 控件这种东西.谁不会拖呢? 有了这么方便的IDE和控件,相信很多母语是C#的同学根本就不会去动脑思考原理性的东西吧?至于数据结构那就更不用说了.

于是,我除了课程的.NET学习以外,其他自学时间都在C\C++上,数据结构和操作系统,脚本则学了Python.

两个月前,我开始投简历,开始找工作。 也是那个时候,我明白了,不是知名大学毕业的应届生应聘C\C++ 程序员,HR基本连你的简历都不会看的。(对于C\C++程序员,很多HR情愿普通的“巴旗”子弟,也不愿意给一点机会给“市井”高手,更何况我还不是高手呢)

我的C\C++ 并不是很精通,按照自己的理解,顶多只到65%。加上三本毕业的,专业又不是计算机科学与技术,算法和底层知识相比其他应聘者低,所以后来我也放弃C\C++应聘了。

至于python,它的的需求少之又少,JAVA倒很大,可我不会,剩下的只有C#了.

于是我投了一家要.NET开发的小企业,结果就被招进去了.那时我觉得挺讽刺的,感觉自己后来奋斗的目标就是摆脱C#,到头来没人要,还是要靠它解决了自己的就业.

入职以后,随着开发的深入,我发现,.NET也只是入门很简单,深入学习的话,它也确实有很多很“不可思议的”高级特性和相对的应用,比如用Reflection机制迭代反射出不同数据容器对象里相同的属性。

 我们的项目因为性能考虑,不允许使用任何控件. 这点倒让我很兴奋,因为我原本就十分讨厌控件这种东西..
慢慢的,我又学会了很多前端,DBMS,WEB安全等方面的知识.

我很感谢这份工作,但我同时也迷茫着,跟着微软走,感觉很累,因为C#不是一个标准,只是微软的一个产品.网上对于.NET的争论也很大.. 用.NET开发真的很舒服,他是一个好的“产品”,但却不是一个好的“饭碗”.

.net更新了,我们就要学习新的技术和特性..我很羡慕那些C\C++程序员 ,无论新技术怎么变革,至少在可见的未来,C\C++永远不会落伍,他们可能占有率不会很高,但绝对无可替代。

我不是一个新技术爱好者,我喜欢编程,喜欢自己学习,但真的不喜欢.NET...

可是自己尴尬的背景,转型都不知道怎么转... 两个月的程序员经历很短暂,但如果做了几年,我觉得随着年龄的增长,那时我就更不知如何转了。

.NET的好坏是说到烂到爆炸的话题了,但他,确实困扰了一代又一代的.NET程序员们不是吗??


------解决方案--------------------
.net也好,python也罢,都是适合创业的语言/技术。创业团队需要的是不需要很多人和很多预算,需要一站式的,麻雀虽小五脏俱全的解决方案。至于打工的,自然你得不到这样好处。最多也就是在作坊中打个下手。

如果你有很好的想法,想做一个产品投放市场看看效果如何,用.net你只要几个星期,甚至不要雇人就可以做出来,有个几十个用户就能收回成本,然后可以听取他们的意见,立刻修改产品,直到产品很受欢迎,赚了个百把万,真的打算做大,钱也有了,市场也培育好了。

如果用C++,你需要一个很大的团队,很长的时间,很多的经费,当你辛辛苦苦把产品做出来,并且信心满满自己的系统可以支撑1万个用户并发的时候,却发现还没有等到凑齐1万个用户,你就破产了。
------解决方案--------------------
楼主,估计我的年龄比你大不了多少,但我有着与你完全不同的想法。
一、你这些话我是见得很多了,也不知道什么原因,我会经常收到很多初学者发来的邮件,有时候我觉得完全可以忽略,直接删除,但回头想想,既然找上我了,不回复也不好,毕竟是责任问题。于是,每次收到这些邮件,我都会打开阅读。而楼主你说的这些话和我以往看到的邮件,可以说是“异曲同工”。
二、你知道吗,几乎所有编程初学者都会犯的一个错误——耍花拳,是的,耍花拳是什么意思,我想你是明白的。而想起我当初学习编程,是很幸运的,我没有耍花拳,一如既往地用VB,我是从Basic语言起家的,从2002年一直学到2006年,不管外面的世界怎么变化,我都坚持学习VB,不会像现在的人,今天学Java,明天学Delphi,后天学PHP,到头来什么都不会。
学编程和练武是一样的,都是相通的,对入门者来说,最重要的是先把武当派的武功练好,再去学少林棍法,不然你永远也成不了武学宗师。
三、楼主你学习和使用.NET才两个来月吧,就这么点时间,发自内心地说,你觉得对你.NET的了解是客观的吗?是深刻的吗?你想想,我用.NET开发已经近6年了,如果你也到了我现在这情况,你又会如何想呢?
四、其实,选择什么样的编程语言,不必问人家也不必看TOIBE排名表,那些都是娱乐数据,而真正决定你使用什么语言进行开发,并不是别人用什么,也不是某种语言有什么样的魅力,而是取决于你要做什么样的应用程序。选择编程语言和娶老婆是一样的,难道你娶媳妇之前还要四处打听,别人娶什么媳妇你就娶什么媳妇吗?这显然是很滑稽的。
所以,我建议楼主,多摸索些时日再来下结论也不迟,到那个时候,你也许会有新的看法了。
------解决方案--------------------
此话题不多讨论了,看你文中说写,你只是把net当作工作,而不是把net当作程序

作为程序员,本身对于net的态度,就是他只是一种表达解决思想的代码语言,就像对于作家中文也只是一种语言。
当然对于中国作家,用本土中文是他们可以自由的,但是作为文学思想,其实用啥都无所谓,人类的情感用什么语言都可以表达。

ps:说句题外话,我有一个纯粹的老美朋友,他看《让子弹飞》的英文版也乐滴屁颠屁颠滴,因为《让子弹飞》英文版翻译的很到位,而他看到“马拉火车”听到“浦东就是上海,上海就是浦东”也一样知道这是啥意思。这说明电影也是语言,也能表达同样的东西,哪怕他是纯粹的老美,也能欣赏到俺们天朝人的自娱自乐
------解决方案--------------------
关于编程语言的褒贬争论只有一句话是正确的,那就是:不确的语言适用不同的场合,而不同的场合可能是不同的行业,不同的行业则可能有不同的待遇,但这不是绝对的,技术也是投资,稀缺的肯定值钱,不稀缺的时候那就是质量好的值钱。

目前主流的编程语言都能保证你有饭吃,至于某种语言的需求量可以直接在zhaopin或者51以关键字搜索,可以简单地认为结果越多,需求越大。有心的同学也可以简单地分析一下对各种语言技能有需求的分别是什么类型的公司。

要说到难度,纯语言层面,没有一种编译语言与“难”沾边,如果学习起来遇到困难,那更多的是因为缺少 操作系统,数据结构,编译原理,网络通信的基础。更或者有些人把编程中遇到的算法和业务难题也归结于语言本身的难度。

你以为用C++就可以一劳永逸了吗?如果真这么认为,那C#2.0也足够用了。
其实上,除了编程语言,有太多相关的内容需要掌握。

------解决方案--------------------