个人大学是个二本(吉首大学,你确定没据说过),大学里面的专业是电子信息工程,入学没多久,我就感受我彻底报错专业了,由于我对硬件毫无兴趣,我从大学一年级开始学习编程,我记得最初的课本是谭浩强老师的《c语言程序设计》,这本书对于中国的学生来讲,基本能够说是无人不知,无人不晓了吧,没错,就是下面这本javascript
让咱们来复习一下咱们学习到的第一个C语言程序,我以为你应该已经知道了,我仍然记得第一次编译成功的那种喜悦,这很不容易,使用的软件好像是VC6.0吧,这都是历史了。html
#include<stdio.h> int main(int argc,char*argv[]){ printf("hello world\n"); return 0; }
大二的时候,咱们又开设了谭浩强总是的另一门课《c++程序设计》,紧接着有开设了汇编,JAVA,淡然了,还有必不可少的课程数据结构,期间我还拜读了难度不小的书《算法导论》,可是大学里面的课程多而不精,结果到毕业的时候,仍是只学习到皮毛。前端
个人第一份工做是Android开发,误打误撞的学习Android,是由于,我靠,我居然还有一个月就要毕业了,赶忙找个饭碗先干着啊,就是这么巧,身边有人学习Android,我就搞了一套视频,自学了2个月,毕业以后就屁颠屁颠的去找工做了,找工做的那个难度啊,想起来都以为,我太难了。你猜怎么着,个人第一份工做在华强北的赛格大厦,第一份工做是个外包,公司里面也只有10多个,由于没钱,天天上天须要坐1小时30分钟的公交去上班,那个累啊。按理说,第一份工做,应该珍惜,可是干着干着,就感受没啥意思了,三个月以后,就搞前端去了,以前利用周末和空闲时间学习了一下前端的知识(有个大学是有搞前端,咨询了一下相关知识),包括html,javascript,Vue,React,Angularjs(版本1,我估计不少人没见过,哈哈,说明你还年轻),期间,我看了《javascript权威指南》这本书,看完以后,以为本身牛逼哄哄了,而后去看了JQuery的源代码(别人都说JQuery很牛逼,谁牛逼就搞它),搞完了JQuery以后,听别人都说,Angularjs,React很牛逼,因此又去怼它们这两货去了,没多久以为用起来很假单,就硬着头皮,琢磨它们的源代码去了,卧槽,那个累啊,可是不要紧,硬是啃下来了,后面想着,要不我也写个?哈哈,说干就干,我就模仿者JQuqery和Angularjs本身写了个(实现了部分功能,后面就没干了,累啊)。后面工做辞了,找了一份前端的工做(伪造一下简历仍是能够的),一同忽悠,面试经过。
第二个公司是卖保险的,个人工做也不难,也没啥太大的难度,公司的后台仍是用C#开发的(我仍是喜欢读做c井,你来打我啊)java
惋惜啊,这份工做仍是没作多久,我发现我对前段彻底没有兴趣,多是个人审美能力有问题,多是是有里边有学习PHP的,我又学习PHP去了,搞了2个月,学习了国内的第一框架ThinkPHP(别人都用啊,因此必须得学)。此次换工做都已经11月分了,至于工做经验吗,你懂的。
这份工做在深圳南山,至此,我就和PHP结缘了(不表明我没换工做啊,不换怎么涨工资),学习的道路永远都是漫长的,为了让本身的技术更牛逼(自我感受很良好),后面学习了YII,ZendFramework(这个很复杂),Symfony,Laravel(号称艺术家使用的框架),另外还学习了号称很牛逼的商城系统Magento(它本身以为很牛),基本上我都深刻的钻研了一下他们的源代码,后面得出一个结论,他妈的,感受都同样,没错,本质都同样。android
学习PHP的时间,算是蛮长的了,可是时间长了,照样感受没意思,就那些东西,搞来搞去的,这可咋办,理想还要有的,记得平时Linux编译软件时屏幕上带感的输出信息,好帅气啊,我就以为,是时候搞它了,弄死它。说干就干,网上看了几篇博客,学习步骤啥的,买啥书啊,一顿操做,书单以下:c++
通过几个月的日夜奋战(白天仍是要上班的,下班以后晚上看),一页一页的看,仔细看它的每一个例子,本身编译一边(不要高兴太早,极可能编译不经过,得想办法啊),头发掉了很多,总算是过了一边,感受人都快死了,不过只要你够狠,这些都不是问题。面试
有了这些基础知识以后,总得练习练习啊,哈哈,仍是那句老话,谁牛逼就搞谁,因而就找到了服务器的霸主Nginx,Github上克隆了一分代码,代码是有了,工具不能少啊,SourceInsight 就粉墨登场了(这是个神器,谁用谁知道,我知道了),至于学习的难度,你看个人头发就知道了,月亮表明个人心,原本入杰森斯坦森般帅气,就变成这样了,值得一提的是这期间我读了一本大神写的书籍《深刻理解Nginx》,这本书写的至关好,可是要注意了,它也仅仅是讲了大概的流程,也就是俗话中说的师傅领进门,修行在我的,Nginx难度很大,相关的博客比较少,并且难懂,年轻人必定要忍耐。算法
在搞完Nginx以后,由于我是搞后台的嘛,因此常常和Redis打交道,天然而然的,Redis就成了个人下一个目标,这里也有一本书,叫作《Redis设计与实现》,让人欣喜的是,Redis的代码注释至关之完备,到这里我就要吐槽上面的Nginx了,你写一段注释会死仍是咋的,你过来啊,看我不打死你。编程
觉得这就是终点嘛,还真不是,后面继续学习了C++,我以为C++除了类的概念和经常使用的算法,其它都是累赘,增长了学习的难度不说,并且让你怀疑人生,你说很简单的东西你非得搞得这么花里胡哨,想干什么,记住这个哥,C++的创始人。服务器
在学习了C和C++的知识后,本身还折腾了一下,很简单,模仿,本身写个HTTP服务器总能够吧(功能完备的HTTP服务器没你想象的那么容易),后面还撸出了其它的一些软件,不得不说,C和C++真的很棒。
学习的态度仍是要有的,听别人说,GO和Python很火,而后又去学了一下,此次学了一个星期,就没进行下去了。由于有了以前的学习经历,这些东西很是类似,没有动力学下去了。
固然了,中间还学习了一下PHP的so扩展(很负责任的告诉你,扩展真的很简单),Android的NDK(android里面算是高级一点儿的技术,蛮有意思,也不难),也算是兴趣使然吧。
上面说了一些个人我的经历,如今回想起来,真的感慨万分,都是泪啊,如何学习一个新的语言,技术,我以为我仍是能够给喜欢学习或者是即将要学习的人一点建议。
若是你要学习一门新的语言,请不要一开始就购买书籍,最典型的,这里以JAVA为例,若是你要学习JAVA,别人确定给你推荐《JAVA编程思想》,我之前也对此深信不疑,可是做为过来人,你彻底不须要,也不该该,你应该等到你有必定的JAVA编程经验再去看,这样才有意义,有针对性,哪里不懂看哪里。你能够去菜鸟教程里先学习一下。还有你确定听到别人大谈特谈JAVA的反射,负责的说,通常人用不到。这样的例子举不胜举,学习C++也是同样,我记得我以前买了一本C++的编程书籍《c++ primer plus》,当初我看到这本书的厚度以后,惊呆了,若是你让一个新手去看完这本书,它还有学习下去的动力么?这些书里面的不少东西都是别人的经验总结,你说你啥经验没有,再说意义,就更没有意义了,这些书彻底是给有经验的人准备的。
培养本身阅读源代码的习惯,若是你看过那些流行技术的源代码,你会感慨,本身的代码像一坨屎,代码不必定写的要多么的华丽,可是必定要简洁,通俗易懂,有些人写代码,非要搞得花里胡哨,显得本身很牛,你说你写的代码,别人都读不懂了,那么它的意义又在哪里。代码界有句很经典的话 Fuck the source code,这很真实,没有人天生看得懂别人的代码,你须要认真看,仔细看,说看不懂的,那说明你修行还不够(提高本身能力的时候到了),或者是耐力不够,这都不要紧,写代码跟作人是同样的,等你看懂别人写的,你终将会守得云开见月明,心中豁然开朗,这会陪伴你一辈子。
多学习一下其余领域的知识,你也没必要拘谨于一门编程语言,终身学习也是一种人生态度,多掌握一门技能,也能让你的将来充满更多可能性,可是切记随波逐流,别人说好,并不必定好,必定要有本身的主见,我就是要说它很差,很差,怎么了?哈哈。
多实践,那句话咋说来着,实践是检验真理的惟一标准,计算机编程更是如此,想要学好编程,勤加练习是必不可少的,除非你是个天才。
若是你真的想要在代码上面有所领悟,你必定得学习一下代码界的大师级人物Dennis Ritche创立的C语言,也是我最佩服的人,C语言就至关于金庸老先生武侠世界的《九阴真经》,下面让咱们浏览下这位大师的风采。
Dennis Ritche 和乔帮主同一年离开人世,使人痛心不已,终身未娶,献给了它最爱的软件事业。至于为啥须要学习C语言,我以为等你领悟到了C语言的精髓以后,天然明白,你确定会感慨,世间咋会有这么简洁的东西,C语言在手,天下无敌,不行的话,你来打我。
最后也是最重要的一点,耐得住寂寞,不管是武侠小说,仍是真实世界,想要有所建树,这点是必须的,这是你晋级高手的必要条件,由于你有本身的路要走。
Dennis Ritche大师走好,尘归尘,土归土,但愿大师下辈子,能有个陪伴一辈子的伴侣吗。
本文章全部图片来自百度图片和google图片