程序员初学者如何自学编程另类版
一、要做大神编程基本要靠自学
俗话说老师引进门,修行靠个人。
编程也不例外。没有哪个培训机构能100%保证能把你培养成啥样。编程不是健身,你的私人教练无法帮你把胸脯练得和他一样大。
不要纠结是否要选培训机构、要选哪个培训机构。实际上如果你强迫自己学一门语言一年,如果还是懵懂的很厉害(譬如连hello world都写不出),那么基本请考虑换个事情做做吧。
一般好的程序员都是靠自学的。就像老板大部分都没上过MBA.
二、开发语言选型
选啥语言?
Php?你会发现学了一半,好像java做的事情更多
Java?你会发现学了一半好像ios开发更有前景
Ios?你会发现还不如android好
Andoid?你会发现其实还是php容易找工作
所以初学者其实很难选择语言。既然难,索性不要急于选。
小建议:不管什么语言,在网上都很容易找到入门教程。这里要说明的是,不建议一上来就买纸质书,一方面现在的纸质书滥竽充数的太多,抄袭太多,另一方面,也贵~~~
我看到过一个学校的专业班级(和企业合作,有php、java和.net三个方向),学生到了大四可以选择进入这个班级,作为企业定向培训。这个班级分类学生很有意思:
1、 老师在网上下载了php、java和.net三个语言的基础教程,分发给大家
2、 每个人分别看入门教程各一天。(只许看第一章,不许动手写程序)
3、 然后选择自己“感觉看的最爽”的语言进行班级语言分类选择。
这就是一个很实践的帮助学生选语言的方式。
三、选一本好书
如果语言确定了,那么选一本书就很重要。
如果你没有项目经验,那么学一门语言基本上靠看网络文章是学不好的。必须买书,因为网络上很多技术文章都有各种错误,我写的也不例外。
一本书好不好,主要看第一章、中间一章和最后两章。基础讲得好,一般不会差。
高级章讲的好,一般也不会差。差的书在于基础部分讲的冗余、隆⑼享常搅烁呒墩陆谝宦佣ㄊ导噬鲜切词榈娜俗约阂膊换幔
看定价,除非书是精装版、经典版、国外版,如果死贵死贵的书,一般都是出版社找个有名声大牛,然后大牛找个专门写书的团队这边抄,那边摘。
四、不管什么不会都不能不会javascript
要么你打算这辈子就搞底层开发了(那么你还敢说你是初学者?还用我教?)
看看google带来的web去世和各种html5应用就知道,如果你还没有工作想学习编程,我建议你从javascript入手,如果这门语言你能学的得心应手,那么今后玩java一定不会玩的太木鱼。
五、Linux学习
微软不做老大已经很多年,大家一定很怀念当年vb6雄霸天下的年代。这个年代如果你还只会windows而对linux一点不会,那么已经不能称之为合格的程序员了。
据统计,学习linux很有助于你学习真正的开发语言。所以如果你一点基础都没有,不妨抛开一切所谓的语言,先把linux学一学,学到一定程度后你必然会觉得豁然开朗。
除非你记性太差,那么linux其实并不难学。
六、不要过早玩开源
这点其实很多忽视了,都以为学编程先弄个开源框架学习。一般来说,好的开源框架集结了多个技术大神多年来的技术经验和思想,你想在毫无基础的情况下学会必然会让你一头雾水。
正所谓:零基础学开源框架属于杀敌一千自伤八百,很不上算。当然也不排除有些奇葩能搞定。
太早玩开源好比早恋,弊总是大于利,但是运气好你成为大神的时间会缩短很多。
七、反向思维写程序
大部分程序员初学编程有个习惯,写完一段代码后想着如何优化。实际上这个办法适合大部分人,但凡事都有例外,并不一定所有人都能这么干并能干成功,反而越写越觉得没有信心,当你也有这种情况时请看下面方法:
这里有个我在一个技术大牛“回忆录”中看到的办法:
先按照教程学习,然后合上书、拔了网线,把刚才学到的内容用程序写出来,注意不要写太多。
编译通过后,进行反向思维,写一段性能更烂的程序,并时刻关注内存耗费情况。
再次编译通过后,重复上述步骤,再写一段性能更烂的程序,并时刻关注cpu耗费情况。
…………
重复上述步骤数次后,你会发现你再也写不出比最后一段更烂的程序了,然后你会发现为了写更烂的程序你竟然把各种知识点都掌握了。
八、开个”淘宝店”
这个办法也是一个很有趣的办法,也是我道听途说来的,据说这个办法帮助了很多人“突然间”成为了程序员。
我有一个朋友的朋友,大学刚毕业,想做web程序员,结果死活学不会,但这货还就是想学,就是想做程序员,谁让他转行跟谁急。
苦于毕业后在家没有收入,于是这货没办法只能先开个淘宝店(自己有一些货源),然后边兼职做淘宝边上一些培训班。
好吧,没想到过了大半年:
1、 舍不得花钱买模板,这货竟然学会了css,还很精通,店铺自装修的挺精美
2、 这货发现原来dreamweaver是这么的好用
3、 最近已经能很犀利的把你的照片PS成裸照
4、 为了宣传自己的淘宝店,开了一个博客来宣传自己的产品(wordpress学会了)
5、 他突然发现自己会php了
6、 有段时间他的博客瘫痪了,在数据移植和恢复的过程中,他mysql基础学会了
据说现在开了微信服务号,正在搞微信接口开发,并熟练开发了html5页面。一个实战级的程序员就是这么从零开始产生了。