送给初学.NET兄弟们的一些话(修正版)
很高兴,你们选择了.net方向,我要告诉你们的是,你们没有选错,在Win7时代即将到来之时,你们选择的技术已经是win7操作系统的内核,也就是说,在Win7里,你的应用程序是直接访问操作系统,这比Java就快了许多,因为Java和.net都是运行在虚拟机上的,可是Win7的内核就是.net 这无疑就让.net比Java在中介上少了一层CLR(公共语言运行时),这个CLR已经在Win7操作系统的内部,你说不爽吗?
很久以前我听说了这样一句话, .net只能在XP下运行,而Java一次编译到处运行,错了.net可以说也是跨平台的,只要有.net framework 他就可以运行,只不过微软是商业公司,他不想给一些竞争对上提供运行.net framework的权利,如果你有兴趣,你完全可以让.net framework运行在各个设备上,这样你的.net就可以跨平台了。在这里我要强调不是挤兑Java,java 有自己的独到之处,如果你要说.net和Java哪个好,我只告诉你一句话, 你爸爸好还是你妈妈好? 能回答这个问题你就知道哪个好了。
也许你在初学.net(以C#为语言)的时候会遇到下面的问题:
1. 未将对象引用到实例(这是一类问题的例子):
一个让人发指的问题,不要惊慌,这是必然的,此问题的出现是因为你没有new他,断点调试好好找去吧,如果你要问我根本原因是什么?<你必须知道的.net> 看上3遍就知道了。这个是现象问题,只要你多写代码就一定能够解决,欲速则不达,要避免这类问题的话,写上三四个月代码就不会再发生了。
2. 设计模式
经常听到别人说功能实现不是牛逼,关键是你代码的复用性,简洁性,如果你是刚开始学,那我就不要劝你考虑这方面的问题了,建议你编写代码一年以后再考虑,过早的考虑只会让你更加头疼,学越晕,导致心肌梗塞,脑出血。当然是开个玩笑。
3. 性能问题
也许你写代码没到两个月就考虑这个问题了,现象是好的,但条件并不是好的,你此时知道的代码不过区区几行而已,考虑此问题过早了吧,不要整天拿着这个问题去朋友面炫耀了,因为你意识里的性能只有速度,试问你朋友写的代码因为没有考虑性能而导致程序数分钟以后才运行出来了吗?
4. 面对问题
很高兴你能够在遇到问题的时候就来到CSDN提问,动机不错,可是你要记住提问的时候告诉回答者你是什么水平,是只能源码才能解决问题的水平还是思路就能解决问题的程序员,不然,下面的人说的口干舌燥你也没有明白。浪费服务器资源不说,浪费了好多高手们的时间。
5. 面对作业
不管你以前有没有把你的作业拿到CSDN来问, 建议你以后都不要问了,既然你能得到作业,那就说明你是幸福的,因为你旁边还有跟你一样得到作业的人,你完全可以和你的同学一起讨论,因为你们的讨论比在CSDN的讨论更有意义,我们程序员是团队,不是独狼, 一个和同学都不能相处在一起的人是不配当程序员的。
6. 多动手,多实践
实践证实理论,拿到一本数,看理论不懂?没关系,把他的源码巧一遍,调试一下,再去看理论,你就明白了,知识是线性排列的,有了第一个才有第二个,想要弄懂第二个第一个必须搞明白,不要跳跃式发展,脚踏实地,一步一步的走。
7. 看书不要盲目,要有目的
在看课外数的时候,翻开目录看一看,在目录里你能找到你可以接受的东西,当你明白了这些,再去系统的看,不要去看书本自带光盘的源码,你只要按着大师的步骤往下走,就一定可以看到效果,如果你看了源码,你就少了一次思考的机会,甚至会丢N个解决问题的经验。
8. 天下武功出少林
传说易筋经可以修炼所有的武功,可是易筋经是怎么练成的,蹲马步。哈哈,想要修炼更高的武功,基础最重要,
《数据结构》《道不远人控件开发》《你必须知道的.net》《悟透JavaScript》是你的首选,因为他们告诉你的不是工具,而是如何去高效的创造工具。
9. 新技术
不要太新了,目前中国用VS2008的都不多,所以你不可能被淘汰,你所能做的就是掌握基础,面对未来。
10. 有问题, 找自己
问题是最好的老师,不要轻易的把这个老师交给别人哦。
加油吧,数学,英语,永远是你的必修课,程序无非就是对数据进行增删改查,至于怎么样去操作,就看谁操作的好了,比如说微软,谷歌,他们创造的技术就是高效的管理数据,传输数据。程序的巅峰只会剩下数学。你该如何去选择呢?