我是中途退学进入这个行业的,算是半路出家,入门还是得从我在学校的专业说起,我在学校的专业是自动化,需要学习一门编程语言,C语言,这是我接触的第一门语言,也是我最喜欢的语言,最初学习C语言是为了学习单片机,但是接触了C语言后,便喜欢上了C语言,但是当时的学习进度是非常慢的,从开始接触C语言到指针,我用了七八个月的时间,当时为了玩,会在一个很小的程序里面反复的用好几个数组,好几个函数,用到的都是些很简单的东西,但是会用到很多,也可能是因为无聊吧。
在学习了半年的C语言后,我接触到了一个当时觉得特别高大上的东西,就是Linux,我接触到的第一个发行版是Ubuntu,之后便使用了一年的时间,期间用了四个版本,学习的第一条命令是ls,第二个命令是cd,安装的第一个软件是sl,是宿舍熄灯后,我在桌前一个一个的敲命令,当时还不知道有文档这回事,买了网上传说的入门圣经——《鸟哥的Linux私房菜》,但是在学习的时候却基本没有用到,反倒是在对Linux系统稍微熟悉之后,经常用到那本书。刚开始使用Linux写一些C语言代码的时候,就在Ubuntu的软件商店里找C语言的编译器,那时候还不知道什么是GCC,我在我床边的桌前不断的翻找,那时候以为没有VC就不能写C语言,我一直找到熄灯,又从熄灯找到电脑没电,也没有找到,最后只能悻悻睡去,第二天,我又打开电脑,也没有去上课,就在宿舍里面寻找在Linux下写C语言的方法,也是那天,我学会了在网上找资料,也是在那天,我明白了编译和编辑的概念,也接触到了另一个我当时觉得特别高大上的东西——vim编辑器,但是那时候还很不会用那个,只是没有别的办法,因为那时候我没有别的办法来输入我要写的C语言代码,于是那本私房菜就派上了用场,我在上面学了简单的vim的打开文件,输入内容,保存并推出,也是那时候我学到了另两个Linux命令——rm和mv,因为我经常的以错误的文件名保存推出所以我有了重命名和删除文件的需求。
过了半年的时间,我的舍友叫我一起学java,我又开始学java,那时候我是准备用vim来编写的,最后我放弃了,java的关键字或者一些方法的名字实在太长了,而我对vim的了解又太过于浅薄,所以我又用回了window10,用eclipse来编写java代码,从那开始我学了两个月的java,之后就进入了我人生的一大转折,我退学了,那段日是我最煎熬的日子,我一直问自己是不是真的爱编程,那些时候,我经常登高,常想到一句词:“昨夜西风凋敝树,独上高楼,望断天涯路”,我几经煎熬,和家里沟通了好几天,前前后后将近两个月的时间,我都在为这个事纠结,一句代码都没有写,在终于退学之后,我就开始找工作,我感觉上天是眷顾我的,在兰州,这个行业不是很发达,可以说很落后,但是我碰到的这家公司却要求员工统一使用Linux系统,我听说这个要求后就暗下决心,一定要留在这个公司,但是让我惊讶的是,我竟然顺利的被录用了,我很清楚自己的水平,面试的时候也没有写简历,只是和面试官聊了聊我掌握的东西,说了我的学习能力,说了我的想法。工作了之后,公司使用的是python,然后我就开始学习python,公司有买好的教材,在网上也能找到很多东西,在学习python的时候,我就很感激我在学习C语言的时候,将那些基本知识前前后后折腾了大半年,也很感激学了两个月的java,前者让我学对编程有了基本的印象,让我建立起了学习其他语言的基础,后者则让我对面向对象编程有了基本的认知,让我明白了什么是类,什么是对象,这对我后来学习python大有裨益,自学java也让我建立起了自己的自学方法,学习进度最快的时候,是到了公司后,到了公司后,我接触到了很多自己没有听说过的东西,比如flask,git,github,django,这些都是我在进入公司的五个月里学习到的,还在这期间里,学会了linux的ssh连接,也将vim的使用提升了一个层次。
在刚到公司的时候我使用IDE来写代码,但是,我很快就放弃了IDE,因为我经常的要用到命令行,虽然IDE继承了这个功能,但是我并不喜欢,所以我放弃了IDE,开始用vim来编辑代码,我在网上找到了vim的使用教程,当时使用vim只是稍微熟练一点,我并不会在不退出vim的情况下打开自己想打开的文件,我使用了一个笨办法,就是要编辑那个文件,就进入那个文件所在的目录,编辑所在的文件,刚开始我因为在各个目录下跳来跳去而感到烦恼,准备学习在不退出vim的情况下打开各个位置的文件,但是我马上又打消了这种想法,因为我突然觉的,穿梭在各个目录下,会很快了解项目的结构,所以我在第一个月里一直乐于这样在项目里跳来跳去,而且很快我就体会到了这样的好处,在第一个项目做完之后,我参加的第二个项目是用django写的,由于这两个框架相通的地方很多,所以我在学习django的时候就节省了一些时间,不使用IDE还让我学会了另一个工具,就是git,在IDE里面,git的功能是集成好的,只需要用鼠标点一点,就能提交代码,更新代码,合并代码,但是由于我并不理解git的机制,所以,即使是集成好的,我也经常弄错,这也是我放弃IDE的一大原因,用命令操作git带给我的就是对git更深一点的了解,放弃IDE让我多学了好多东西。
入门半年了,记录一下,希望分享给更多的还在编程路上挣扎的小伙伴,坚持和执着比什么都要重要,自己选择的路,再艰难,跪着也要走下去(市井闲人)