在博客园开博客的那一天是我学C#的开始。之前我学的是C语言。我只是小小大专生,我英语考试没有及格过,最高59!
最早接触程序语言是在高中,那时候是为了应付考试(高职考要考VB)。老师一开始教我们上课的时候说,她(对她是女老师)也不会这个语言,然后很狂妄的说,我看三分钟就会了,教你们绰绰有余。然后当时我叛逆倾向严重,自己就去看书了,结果可想而知,我连第一页都没看懂,之后我更加没有学会。直到毕业考试那天,我都不知道数据类型是什么,我的VB题目都是空白的。当时自己一个班级三十几号人,只有少数个别人会做题目(不是上机写代码,是写在纸上)。我文化课不错,所以我靠文化课拉分数,顺利的考进了一所大专院校(当时我的分数除了一所警官学校不能去,其他都可以)。恩,那年进大专是2011年。我本来是不想学软件编程的,我最初是想学计算机应用这块,毕业前我曾经和我同学说我最讨厌VB了,写些什么都不知道,喽啰索索的一大堆。
大学期间,第一年碌碌无为,然后和同学也玩玩游戏。直到有一天,我的室友说他要去上一堂课(选修的),是教编程语言的。当时我还不知道C语言。他手上一本一百多页的编程书,黑色的,我现在也是记忆犹新。之后,也就没有之后了,来到大一的下学期,这学期有一门编程语言课,对C语言课。课堂上,我被老师的吹嘘,对编程语言有了兴趣。但是我依然不懂。课堂上不会教太多东西,这也是很多大专院校的常事。我开始自学了,当时加了一个ACM群。C语言在当时最多用来ACM,反正当时我的老师教的方向就是让我们学会A题。事实上编程语言的门槛一直没有降下来过,只是语法在向人性化发展,本质还是一样的。我学循环的时候一直不懂,然后请教了我的学长,虽然他们已经不再学校,他们大我好几届。最小都在外面实习了。原来我们学校这方面人才很少很少。有幸得到我娟儿师兄指点(娟儿是男的,还是个胖子,外号是雅称,当时的高手,ACM拿过浙大的银奖来着,虚名而已),我慢慢懂了类型和控制语句。然后我就开始A题了,当时有个小型的A题平台,老师搭建了的(据说那是哪个平台最后的一年,最后连平台都没有了)。在当时学校里面搞编程的在我印象中只有十几位,对,就只有那么多。全专业几百人,就只有那么几个搞编程。其中还有一个学姐,据说本来是搞翻译的(翻译题目),后来玩上编程,在此敬仰一下。自己的同学搞编程的,我一只手就能数过来,也就五个人。我觉得我当时学C语言还是挺刻苦的,一共学了六个月,A了一百题(大神就忽略好了,也许就是水题)。当时以为自己会一门语言了,已经不怕报错了。(当时我的IDE是Cfree)。电脑上还留着以前一百题的代码,现在看都会骂自己。
我一开始的代码杂乱无章,连一条像样的注释都没有,向我师兄请教的时候也是被嘲讽的一逼。(此处提一下,我师兄不会C,他是搞Java的)然后我渐渐学着写注释了。我要让不会这门语言的人也能看得懂我写了什么。C语言的课程很快就结束了的,也就两个月的时间,那时候我已经很爱编程了,寒假都在学习,学到了指针,学到了链表,学到了结构体。当然,最多的我还是在玩控制台,当时我也就知道控制台,A题只是在算法上有点入了门。我的C语言老师教的不多,基本我的也是靠自学,靠问人,也就是我的学长。其他的我只能反复的看书了。感觉我在那时候就学会了自学,自己解决问题,自己尝试(之后对我帮助很大)。然后大二不期而至了,那时候有教ASP.NET了。开课前那段时间,我的老师推荐我学C#玩玩课件,师兄推荐Java可以学得好,他可以教(当时理由是C#不开源,Java开源,当然那时候我还不知道VS这个IDE)。然后我开始渐渐自学起了C#,没有为什么不选择Java,我就是拿着C#的入门书开始看了。我就是不想学我师兄的Java,叛逆的想学点特别的。学校的ASP.NET课很简单,就是拖控件(感觉老师C#的水平有限,都不如我的C语言老师)。我就无聊死了,开始旷课,我不想浪费时间,然后自己学C#,跑图书馆,在宿舍写代码,在图书馆写代码,没有网络也写,一写一下午。不懂就多看书。话说C#的好书也真心不多,反正图书馆那几个架子上的C#的基本都看了一下。最后我还是入门了,从控制台和窗体程序(GUI),拖控件我是鄙夷的。我觉得初级和为了高效可以拖控件,但是要了解控件本身。然后去看拖控件后生成的代码。原来也就是一堆属性。PC端的东西我接触的不多,玩过几个控件,写过自己的XML记事本。感慨自己当年的VB课不就是那么回事吗?之后我开始学习ASP.NET,我当时的想法的是做BS的东西,当时的大趋势。ASP.NET这个东西我基本也是看书学来,除了我的一个老师在我面前演示过一次简单三层架构的搭建,然后就是自己来。那时候是2012年。然后我还学习了一下MVC,从MVC2开始的,用的VS2010。有人和我说别依赖IDE,你是VS的奴隶,对是我师兄说的。然后我开始反驳了,我说,是和JAVA一样,配置一下环境变量,将编译器绑定一下吗。C#也可以啊,但是我们为什么要这么麻烦,为什么要这么原始,那要IDE有什么用。装逼也得找菜鸟啊!。
后来到毕业那一刻,我的不怎么后悔选择C#,之间我还学了SQL语言,MSSQL和MYSQL,javascript,css,EasyUI,Jquery。很多很多,当时还加了一群,感谢当时群主和各个管理员解决我的一些错。现在看来我觉得程序员对语言不重要,重要的是对语言的掌握,脑子里面建立编程的模型,那你玩的别语言都一样了。之后,一个程序员必须要有的素质,自学、自己解决问题的能力、尝试新东西(还有,对看看别人的源代码)。我觉得做不到这些素质的程序员,是会被淘汰的,是只会复制粘贴的码农。一个老板也不会需要这样的人。我也看到很多培训单位里面出来的,他们事实上并不会编程,他们大多只是想赚钱,他们只是去培训单位学习一下工具。反正一句话,很多东西网上都有,肯学都会掌握。我实习那会就做东西了,基本没有问题,项目用EasyUI,当时还改了不少源码,四周的人还在用陈旧的东西。现在,单位招实习,实习居然啥也不懂,还改错我的东西,我也是无话可说。我注释写那么清楚!(注:这单位也就我写注释多,别的基本百来行一句,还只有几个字,看得累,改得累)
自己在博客园学的蛮多的,看过FishLi的MVC框架源码,看过别的小型ORM源码,看过EasyUI源码,MVC3的源码(很多看不懂),等等。
从2012年到2015,学了两年半,以后是会换单位的。希望可以找一家单位,不看工作经验(不得不吐槽,有些人工作五六年了,只会用代码生成器,我也是醉了。有些东西一出错,我他妈就要救火了,工资高的一逼。。。。)。
我的船长,你在哪里?