编程一样可以很带感
后来我就产生了一个想法,我希望等我弄懂一些皮毛的时候,给那些刚刚上大学的向往学习编程的人写一系列适合我们这一代人口味的技术文章,不要把这一腔热血直接浇灭在心里,我想如果是我们这些人写这种东西还可以结合自身当时的体验,毕竟比那些大学里感觉和实际情况脱钩的老师教的来的亲切。
我也不敢说我现在对计算机了解有多少,只是略知皮毛,对于我即将写的这一系列,只是希望能够抛砖引玉,毕竟,如果看到越来越多的人重复的是我大多数同学的故事,感觉总有点不舒服,如果在写作的过程中有任何的错误,请各位及时指正,在此先表示感谢了!
先说说我自己,大学四年做了几个软件项目,弄过几个网站,但是都是个人工厂的小玩意,不过就是这些小东西让我开始对编程对计算机有了比书本上更深刻的了解,所以感触良深,现在虽然还在学校,但很大一部分是为了我的爸爸妈妈,在国内的这种科研环境,我相信不说什么大家应该都明白。
这一篇就当做是一个前言,我先说几个我这几年也算在这个行业岸上走的一点体会(我还从来没下过这个行业的水中,不过我很期待),希望给正在入门或正在迷茫的人有点帮助:
一、最开始的这一点是对那些刚考入高校计算机专业的师弟师妹说的,在《倚天屠龙记》里,张无忌从张三丰那里学太极拳准备出战赵敏的时候,张三丰问了句: “你还记得多少”,到最后张无忌说:“我已经全部忘记了”,张三丰方才满意的笑了一下。要知道当你从高中到大学之后,你将面对的是一个完全不同的环境,这里没有班主任督促你学习,没有固定的同桌,没有人找你家长,一切都要主动出击,要学会自学,高中那一套学习方法最好全部忘却。在高中说题海战术是不对的,但是这个命题放在高中不一定成立,因为数学往往需要题海战术,但到了大学,学计算机的话这句话还真是有道理,没有一个计算机书后面附有大量的题目,往往只有几道题目,而这几道题目往往有个共同点,需要你动手,大多数人对动手有一种嫌麻烦的感觉,这是学计算机的大忌,后面我会详细的说明为什么这是大忌。
二、在选书方面,刚入门的时候,这个方面不需要考虑的太多,入门书籍基本上水平都差不多,但是这里我比较推荐用外国人写的,不一定非要是英文的,当然如果你能看英文的更好。为什么这么说,在计算机行业,英文好是一个巨大的优势,因为中国的计算机技术比外国落后的很多,所以往往新的技术刚出来的时候往往都只有英文的,如果你看到中文版了,那么说明已经有人看过英文原版的而且弄懂之后开始无聊寂寞的翻译出来给人看,赚别人的钱了,你想你看中文版的是不是直接和别人都不在一个起跑线上了?给稍微已经入过门的人,我的建议是英文版书好于中文版的书,代码不多原理说的多的书好于那种书中一大段一大段代码的书(当然有些经典的MFC编程书籍除外)。
三、所谓英雄不问出处,无论你是正规大学计算机、软件专业毕业,还是从来没有上过大学但是对编程有兴趣的高中生,在写程序,设计计算机程序上,创造力和灵感是很重要的,所以那些大学不好的但是对计算机很感兴趣的人不用灰心,特别是如果你觉得你的大学老师教的很差,我可以说中国大学85%的计算机老师和你看到的计算机老师一样,不用灰心,编程这东西,大部分靠自学。如果你想不通,需要励志,近的你可以看看熊猫烧香的作者,远的可以看看马克·扎克伯格。
四、要记住,所谓计算机不是C++, JAVA, C#等等,而是计算机组成结构,计算机网络,操作系统和数据结构,排名不分先后。
五、不要迷恋任何学历或者地位比你高的计算机专业的人,我到现在还经常能在课堂上看到一些人捧着《C++精彩编程500例》这种书,这没有什么,这种人往往会向你显摆他的书,让你看看里面那么多代码,这种行为无处不透露着一种他不自知的恶心。
六、不要相信写程序能靠那种《21天》系列搞定,这个是一个长期积累的过程,记住博观而约取,厚积而薄发,多看看经典著作,会有领悟的。
七、书一遍看不懂很正常,这时候有人问怎么办,答案很简单,多看几遍,千万不要把看一遍书当做最终目的,古语说的好看书百遍,其义自现,多想想,就算看的慢也没关系,别人一天看完一章什么也没记住,你一天看3页,全部都懂了,一年之后还是你比他懂得多。
八、记得我刚上大学的时候,别人问我的专业,我说软件,别人很羡慕的说期待你把什么什么网站给黑了,还有很多人认为计算机就是游戏。其实计算机下面的方向很多,数据挖掘,模式识别,人工智能,图像处理,信息安全等等,所以等到一定的时候选个方向还是很重要的。
九、学编程最重要的是数学,因为如果数学不行的话,一个你永远无法体会计算机奥妙的真谛,第二个你就永远只能很苦闷的做无聊的叉叉叉管理系统了。
十、学计算机学编程最重要的是要动手,你可以把计算机想象成游泳,你想哪有人学游泳是一直在岸边学习游泳姿势怎么样怎么样而从来不下水的?游泳都是在水中学会的,等你会了,再上岸,看一些书,纠正姿势,这样可以提高你的游泳技术。以前遇到一个法国人,他说在他们学校,有个计算机课程就叫 “swimming pool”,就是给你一个题目,一个机房,一段时间,你可以用任何办法把他搞出来,意思就是让你在游泳池里扑腾,就算学不会你也会学着怎么可以少呛点水。所以无论多小的程序,我建议都实实在在的写一遍运行一遍,感觉完全不一样。还有重要的一点,计算机,软件专业成绩绝对代表不了技术,也有成绩好技术也好的,但是这种人少的可怜,大学里成绩好的不会写代码的比比皆是,如果你想成为一个计算机高手,这种人你完全可以不用管它,别人有自己的生活方式,毕竟保持物种的多样性是自然规律。
今天先写这么多,有什么不妥的地方,请各位高手指正,再次谢谢你们,有错误一定要指正我。