|
记得大一学PASCAL的时候,觉得特别的难。刚开始接触,很难理解计算机的语言。虽然最后考了95分,可是根本没有真正的学会。后来又学了C语言,也没有什么coding的感觉。一直到了大三的第一学期,还是对计算机一窍不通,甚至不知道应该如何开,关计算机。看到非计算机专业的朋友熟练的操作着计算机,心里真不是一个滋味。也有大专的朋友show给我他的C,C++的程序,给我海阔天空的讲解了一番,心里真是佩服。大三第一学期过后的春节,说通父母给买了第一台计算机,从这个时候就真正开始了我的coding学习。
首先是要把C语言补回来,把C语言教程看了一遍,把语法理解,练习了几个小程序,找了找感觉。这个阶段是很快的,可能就是几天的时间吧,毕竟以前还是学过C的,然后开始学C++。当初问过老师,学C++需要多长时间。老师的回答是三个月。买了本C++教程,一天看完。心里很不以然老师说的三个月,感觉跟C差不多,就是多个class。后来就买了两本编游戏的书,开始模仿和练习编游戏,这样在当时我们的机房DOS系统下,我是专业里唯一一个能用GUI编程序的人。所有的assignment,我都编两个版本Text mode and UI mode, Text mode送给好朋友,UI mode自己用。这样半年之后,我才突然发觉,原来这才是C++。自己用了半年的时间才真正的学会C++。(C与C++的最大区别在于设计的思维:面向过程和面向对象,C到C++的转变是需要一个过程的)。这个时候再看当时show给我程序的朋友的C++的程序时,才发现他根本没有学会C++,他只是用C++在做C程序而已。
C,C++学会了,下一步怎么办?我的性格是愿意学习最难的东西,因此就选择了VC。当初去北京书店门口看到了广告“VC程序员试用期月薪4000”,觉得是天文数字了,也更坚定了要学习VC的决心。当初的学习条件还是非常艰苦的,市面上就两本书,我还很清楚的记得,一本是四川大学出版的,一本是龙门书局出版的。四川大学那本是入门的傻瓜教程,主要是教你怎样使用Visual Studio而已,没有深入的学习指导。龙门书局是翻译的微软的,讲的对我来说太深了,没法理解。因此主要学习川大那本,可是那本书还有问题,我按照书上所讲的去做,行不通。VC学习陷入困境,没有书可以查询,没有人可以问,自己也没有理解VC的精神。只能放弃VC,转而VB。VB当然很容易了,基本上不用怎么学就上手了。半年之后,有朋友想让我帮助编一个截取VCD片断的小程序。我用VB实现之后,准备给他用。然而,我却发现缺少dll, 这样我就把这个dll铐过去,又发现缺少其他的dll。搞了几次还不行,我也恼火了,就想能不能用VC试试。这次又拿起VC感觉就好多了,不但实现了这个小程序,并且第一次感觉VC入门了。从此之后,就走向了VC这条路。基本上来说,我是学校唯一一个会VC的人,而且几年以后也不过只有两个人会VC,另一个是跟了我一年,我带起来的。后来龙门书局的书也能理解了,再后来VC的书就慢慢多了,学习起来就越来越方便了。以我从小到大的学习经历来说,学习托福那段时间是最苦的,学习VC的这段时间是最难的。后来也没有再碰到这么大的困难学一个东西了。
Basically, 大学学习coding的时间是一年,半年从C到C++,半年从VB到VC。一年之后去单位做实习了。这一年发生了三件时间,比较值得回忆。
1。女朋友是通信系的,我帮助做了一次C语言的作业,没想到老师拿做范例在全系进行讲解。
2。MIS课程,我设计了一套足球俱乐部的管理系统,包括球员状态的纪录以及出场阵容的预测。老师对我的设计打分很一般,第一次上机我去找老师。因为家里有电脑,而且也喜欢编程序,因此我所有的课程都是第一次交作业,让老师验收。这个做法遭到了不少老师的抵抗,一直到我在国外读研究生的时候,才有老师欣赏。去找老师验收作业,他以为我是要讨论给我设计的分低的问题,就说“你设计的很好,可是不可能实现,因此我没有给你高分”。我说“我已经做完了,是来找你验收的”。他的脸色很不好,说“我一会儿去”。我走了,可是左等也不来,右等也不来,又看到别的同学叫他,他都出来,我也急了,硬把他给揪过来了。他看完之后没有说什么,问我是一个人做的,两个人做的。因为,我要帮一个哥们,就说是我们两个一起做的。他就说,“如果是你自己做的,我给你10分都嫌少(10分满分),如果是你们两个做的,我顶多给你8分”。后来的分数是7分。最后这门课程是我大学以来分数最低的(除了编译),不到70分。后来我读研的那个老师,也是说我的设计实现起来很困难,让我修改,我后来让他surprised的了,他却给了我全班最高分,唯一的90分。不过大学这个老师,后来对我还是很好的,在我困难的时候,帮了我很多,后来也含蓄的跟我表示过,不喜欢别人什么都没做,我帮他们。
3。编译原理的课程,因为不喜欢老师的教学风格,因此上课从来不带课本,都是自己拿本C++的书座在最后一排,自学。被老师看到过一次,问我为什么不看课本,我说没带,他再问我,我就一话不说了。应该是记住我了,而且很生气。这门课程上课没有听,下课也没有学。最后到了期末的上机实习,作业是Basic的解释程序。听说上一届的没有一个人能做出来的,我就回家了3天,一边自学编译原理,一边设计,编程。3天之后回到学校,大家都用怀疑的口气问我怎么样,没想到我的回答是“做出来了”。我们这届最后还有另外一个人做出来了,因为我是用C++,他是用PASCAL,而要求也是PASCAL,因此其他的人基本都是抄的他的了。第一次上机,我跟那个老师说,可不可以用C++,他说可以。我就说我做完了,你验收吧。他看了之后说了一句“挺好”。后来这门课,我不及格,上机10分给了我5分,理由是我上机时间太少。这事情在我们学校闹得很大,因为我平时的成绩基本都是80多分,90多分的也不少。后来进行试卷的review,其他学校的老师都不敢过来,只能自己学校review,最后的评语是“***同学不是无稽之谈,老师也有犯错误的时候”。可是,为了系里在学校的面子,还是牺牲了我。他们保证我补考肯定没有问题,可是我已经不敢相信他们了,因为补考不过,我毕业都有问题了。因此就在大四的时候多选了两门课来代替这门课的学分,也造成了自己断绝考验的准备,毕业就工作的现实。
学校是挺打压人才的,当然自己那个时候也很不懂事,在注重技术的时候,忽略了做人的一些要素。这里我想说的是,编程序一定要靠实践的积累,只有多动手,才能更深的理解问题,另外技术牛了之后也要更注意做人的方式,在中国很多时候会做人比会工作可能更重要。两个方面一起抓,以后才更容易有更好的发展。希望我的经历能给大家一点借鉴作用。 |
|