欢迎来到天天文库
浏览记录
ID:9105719
大小:13.23 KB
页数:4页
时间:2018-04-17
《关于计算机专业的人如何学好编程》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库。
1、关于计算机专业的人如何学好编程 这篇文章是写给低年级的人的,已经工作的就不用来看我废话浪费时间了。 最近总是有人问如何确定自己方向的问题,说是看到有的人在搞手机,有的人在搞网页,有的人在搞游戏,还有其他的什么的,然后说自己只懂得这么一点东西不知道该怎么办之类的事情。我一直在一些做软件开发的群里面混,里面有很多学生,也有很多从业者。那些人对于人们在基础不够扎实的情况下就“做各种各样具体的项目”有两种说法,一种说是浮躁,另一种说是这样开阔眼界是好的。 大学就四年。学校通常安排前两年学数学英语,然后大一学语言大二学数据结构。到了大
2、三有很多比较具体而且复杂的课程,然后就要找实习,大四其实就是在找工作,课也没有,卫生也不检查了,等于在租学校的宿舍住。 于是在这短短的三年里面想在计算机那么多领域里面找到自己喜欢的,然后钻研下去,最后还有所成就的话,还是比较难的。因此很多人经常会看到自己周围突然有两三个人就干了点什么很有成就感的事情了,一问,以前学过的。这种人我也接触了几个。我有一个同学说是高中的时候被称为代码狂人,给emule写了点代码,然后还自己做了个即时通讯工具卖了出去。到了大学就一直在重写这个东西,最后实习就到腾讯去了。前几天还遇到个人,说是小学就在折腾
3、flash里面的actionscript了,后来投靠perl,说是一直到了大一才写了一个超过2000行的程序。我也没去求证,只是觉得比较不可思议。 于是我想,就照着那些传统的路子先搞定一门语言(《C++Primer》),然后学数据结构(《算法导论》),再去学点库(《STL源代码分析》《深入浅出MFC》),之后弄点设计模式(《设计模式》),最后写个某某管理系统(笑)什么的,也是无聊了点。竟然要学了那么多东西,才能弄出一个看得见摸得着的程序,也太考验人的意志力了吧。几乎是个人都是从拖控件开始的。那些一开始就摸着黑白屏幕狂搞算法的人,
4、要么是NOI出身,要么是ACM出身,然后对着几道算法题乐此不疲。但是最后有所成就的,很少。我在学校认识了那么多个ACM出身的,最后也就一个去了google。感觉风险还是有点大啊。 但是反过来也是有问题的。要是一开始就从界面开始弄,人也是很容易浮躁的。很多人因此就陷入了对花花世界的追求了(根据对群里面的人的统计),譬如说特别关心怎么在ListView前面画棵树什么的。这种人里面,其中一些有追求的,最后都会沿着WindowsSDK,再走到DDK,最后写驱动,一脚踏进泥坑,从此不能自拔,当然这些人也是少数。每当有少数人对着剩下的多数人
5、说跟“我今天实现了让Word不能打开某某文件”差不多的这些事情的时候,他们两眼大放光芒,然后就开始跪求源码,狂问用了什么API,最后当代码终于到手的时候,就放进之前精心准备好的一个文件夹里面,封存万世,从此再也不去看了。当然也有其他的版本,譬如说老是下载书,而且还是rar,然后从不解压一样。曾经有这么一个人就在群上炫耀说自己有多少多少G的电子书。我让他上截图,结果全是rar。根本就没看嘛,他自己也承认了。 于是怎么看两条路都是很有危险的,这就是为了什么到了大四的时候,能学成的人总是不多的缘故。太容易陷进去了。这是什么意思呢?人总
6、是只对自己做得好的事情感兴趣。对自己还没做的事情感兴趣那种是好奇,需要严肃对待。当人终于做好了一件事情之后,就会一直不断的钻研下去,这当然是好事。但是,从此只见树木不见森林,以为全天下的编程就那一件事情,那当然是要吃亏的。 所以首先要开阔眼界,知道世界上原来还有这么多的东西可以做。在差不多知道编程是什么东西的时候,需要这个玩一玩,那个玩一玩。不然就会看到旁边的同学这个用Java在手机上跑一个能告诉你1+1=2的东西,那个人用PHP+MYSQL弄了个留言版,看得唾液直流,心里发慌,说自己对着C++的黑白屏幕弄了这么久居然连那点小玩
7、意都做不出来,自尊心很容易受到打击的。 于是在玩过了之后呢,要及时收手,就专门做一件事情好了。因为这个时候自己已经大概知道自己看见的东西差不多就是那个样子,想做自己也做得出来,看着别人写那些花边的程序也就不会给自己施加太多压力了。专门做一件事情的意思就是,选定一个方向,然后找书,找人,看代码,写程序。譬如说可以去弄图形做游戏,也可以去弄脚本引擎做做编译器,还可以跟着老师去搞什么数据挖掘啊嵌入式什么的。对一个领域的深入研究最大的用处是可以让自己接触复杂的问题。 当然,当研究得深入了之后,程序就越写越大了,这个时候就会出现很多各种
8、各样的问题了。譬如说效率太低啦,程序一出错就要全盘推倒重来啦(这个还是比较可悲的),代码太多很难组织函数啊类什么的啦,或者说名字给你用光啦等等。这个时候就需要各种各样的理论知识了,譬如说数据结构与算法,还有设计模式什么的。当然讲来讲去也就这几样,因
此文档下载收益归作者所有