此文用来帮助自己如何选择和决定
1.语言与方向的选择
大学要结束了。因为学校实行3+1,大三的上学期已经结束,在学校也只剩下半年的时间了。今天想回头看一下自己,看一下自己三年究竟收获了多少东西。上图是自己三年内所学过的所有的专业知识。上大学之前就给自己说,我大学是来学习的,来努力的,所以大学虽然不是很用功的一个,但从未放纵自己,走走停停的就这么过来了。忽然觉得自己的大学都要结束了,回头总结一下,并给自己做个决定。
从小就不会决定,买个衣服也不知道好看与否,没有审美,没有判断。庸庸碌碌的就这么过着,觉得自己很失败。讲述一下自己的学习经历,大一上半期开C语言,基本达到了二级水平(应试水平),开不出来他有什么用途。大一下期开了c#语言,只是单纯的将语言,又觉得他只是另一门C语言而已。(这里顺带说两句,中国的大学教育弊端,起码是我经历过的大学教育的弊端。一直讲什么学生要打好基础,练习好内功什么的,大一大二几乎所有的计算机类专业开课程是操作系统、数据结构、编译原理、C语言、软件工程等等。有多少个同学知道C语言有什么用,有多少个知道数据结构是干什么的,有多少个知道操作系统跟他们天天都要接触的windows的关系。同学们没有兴趣,一个个都是抱着考试的态度,好学生尚且不知道C语言是做什么的,何况那些根本不学习的,大学开了C语言起码你要用vc给写一个窗体,起码你要写一个小游戏,对于那些从来没接触过编程,甚至没接触过电脑的人,那么枯燥的代码都是屁!扯远了)。里面说了,之后大二学习了数据结构之类的,基本只剩下个概念。大三开了专业课,ASP.NET和C#windows编程,XMLwebservice,SQL Server数据库,UML建模,C#移动开发。下学期还要开J2EE,J2ME,JavaWeb开发,TCP/IP,微机原理与接口技术,Oracle,Linux。
回头看一下,自己早已陷入了语言的陷阱,从学习C语言就开始了,别人都说C语言可以做这个做那个,Linux是C语言实现的,windows是C语言实现的,n多牛逼的软件也是C语言写的,感觉好神奇。拿了C语言就开始啃,当然我把他吃了好几遍我还是不理解为什么他能写那么多东西,为什么我看了所有C语言的书都只是在黑黑的控制台打印东西?正在迷惑的时候别人说c++好,有的c的效率,有面向对象的优势,既有面向对象语言的开发效率,又可以作为底层语言使用,于是义无反顾的投入到c++的阵营。学了c++的基本语法,前半部分跟c一样,看了虚函数多态,看了智能指针,还是迷惑,还是只是一个黑黑的控制台,直到某天才幡然醒悟,原来我学的知识语言!我他妈的在大学苦苦学了一年半才理解我学的究竟是什么!然后开始拿出MFC,既然语言本身不能做任何事,那有框架我做windows开发嘛。刚开始看点点,入门都还没有,看到汇编的神奇。看到了OD竟然可以调试一个可运行的软件,看到逆向破解,看到汇编似乎很有前途。然后拉起王爽的汇编语言,拉起罗云斌的32位windows下的汇编,我发现我真的是个应试教育的悲剧,我可以看懂书,我可以照书写代码,但是我永远不懂运用!我理解,你出题目我都可以做,可是我发现我真的不会运用我写的东西,迷迷糊糊写了半年的汇编,还看了n久的逆向破解之类的,现在忘光了。忘记就忘记吧,大三了,要开专业课了,走专业嘛,一样的。然后就疯狂的开始看ASP.NET,看了觉得为什么他不能像winform那样拖动按钮?才知道网页是流式布局的,好嘛,那就学html,学css,ok,没什么难的,我开始觉得自己理解能力还将就,几天搞定了。然后看到要JavaScript来控制前台,ok,不就是门语言吗,没什么大不了的,学呗。其实这期间我已经认识到自己的不足了,我虽然天天在写代码,但是其实不过是天天在抄代码,把书上的代码自己再写一下而已,不过只是没有原模原样的抄罢了。所以学完这些之后自己简单做了一些东西,但是都是拿不出手的,暂时叫做网站吧,用了最基本的三层架构。后来看到些JavaScript真的很累,然后接受别人的建议,学了jQuery,也不就是一个框架嘛,学。在放假的前一个月,参加一个CMMI的培训,中间有项目演练,说要用JavaWeb开发,不就是web开发吗,我已经学了半年了,再学点就可以了,简单,然后就开始学Servlet,学jsp,学完了学struts2框架,学了个差不多,之后发现那个培训跟本用不到,算了,也不亏,明年一样要学这些东西。简单描述,中间还有很多我学的还没有说的,直悲剧。
我知道,如果我当时坚持学习C语言,一直学下去,学两年半,我相信我会是一个C语言的高手,c++一样,或者对于web如果我一开始不抱有偏见我也可以大一就开始学。很可惜,如果再让我回到大一,我估计我仍旧会稀里糊涂学这么多,贪心,贪是每个人的缺点。因为即使对于我现在,我逼自己开始选择,我还是不知道选什么,我舍不得放弃。因为我知道我每学一点东西都是有付出的,要我把我付出的东西丢掉我舍不得,还有一点就是我浪费的时间比他们一直从事web开发,或者一直学底层的同学要浪费时间多的多,但是如果我把我学的一方面丢掉我就会觉得自己不如他们。好可怜!但是我知道,如果我现在不放弃的话,我将会付出更多的代价,比现在付出的代价要高出几倍甚至几十倍几百倍。所以今天,必须选择,必须做一个了断,最后半年,也许一年,我要最大的发挥自己。停顿了好长时间,我写不下去了,我还是没有办法给自己决定。汇编肯定不写了,丢了吧,半年的时间,心疼。C语言还是需要的,然后明年就在linux下学C语言,那么主要精力放在web开发上吧,虽然这是我最不想的,但是相对于窗体来我还是要选择web,不学习新的东西!记得,明年开学之后只学习linux,学习C语言,其他的只有在需要的时候才学习,javaweb所有的那一套拿来就要做东西,不学,不学!我不贪心,告诉自己,不要贪心。不会再深入的学习java,不会绝对不会!!!想做东西的的时候用web开发点小东西,可以学一下,明年进攻linux。不贪心,不贪心,不贪心!!!
不管对错与否,我只要坚持,这次我只要自己对自己做的决定负责。我不再贪图学习任何新的东西(除非必要),不会像这次一样贪心的找借口说项目需要所以要学j2ee开发。只学习必要的,不学习新知识了,够了,足够了,停住。不许贪心,对自己负责一点!!!把汇编、c++都扔掉吧,不学习很深的数据库,不去研究!学会放弃,学会舍得。明年的j2me,不学,明年的什么都不要学。看数据结构,看算法,看计算机原理,看计算机网络。