为什么选择编程
嗯,小时候,觉得黑客很牛,啪啪啪一敲,啥信息都能看到
第一次接触计算机
小时候,有一次考完试,放学了,同学拉着去上网,是的,上网。
然后转身去了传说中的黑网吧,那个七拐八拐的小胡同,直到现在仍然记忆犹新,屋里不大,2个T型过道,四排半电脑,乌烟瘴气的。
那就是人生中第一次使用计算机,去干嘛?是的,我也不知道去干嘛。
后来看别人呼来喝去的半个小时,有了闲置的机器,就花了几块钱, 开机打开cs,加入白房地图房间,然后按照同学说的开始玩。。结果操作了半个小时,也不知道怎么能赢,只感觉在跑图,b44买枪,冲,然后死了。。周而复始
现在想想,也挺无趣的,当时却是感觉新鲜。
基础学习
直到上大学,选了计算机相关专业,才开始了系统的学习,但是可以想象的是谭爷爷的C编程,helloworld程序,是多么难以理解。。
对于一个普通人来说,从没接触过代码、编程等等思维的人来说,写代码是极其痛苦的,没有方向,也不知道学了个什么。因为上课其实只是偶尔讲代码,核心还是讲基础理论和思想,但是理论怎么落地到代码,没人讲,好像也没人关心,只等自己开悟。
现在想想,真是可怜。
直到几个月后的一天,当时有个计算机中心还是什么玩意的校内学会,招新。我觉着自己啥都不会,可是比其他人多少理解多一点,也许能进去混个日子,多学习点。就去报名了,然后出了笔试!!!
难以想象,啥都不会的自己谁给的勇气去参加笔试,哈哈哈。笔试是选择题+编程题,选择题就是一般的基础知识,编程题有一道印象深刻,就是汉诺塔。我是怎么答的呢,用文字描述了下怎么解。
哈哈哈哈,现在想想真的是勇气可嘉,不知道当前阅卷的人会不会笑死。
其实,主要原因是我不知道怎么用程序写出来。我知道是递归,可是怎么用程序实现呢?书里有伪代码,可是好像没有源代码,我也不会写。
后来,我感觉学校里的协会啥的可能都有个问题,就是
自那以后,我就开始认真的练习写代码,可惜,资质不够,一直很懵懂。
初级顿悟
学习一个全新的东西,对一个普通的我来说,很艰难,是的。尤其是,艰难而不自知,那就更艰难。
我就试图去敲代码,敲原题,这是最笨的办法,但也是能让自己熟悉的最好的办法。我不会解题,没关系,我先弄明白是什么意思。
直到期末,大作业,写电话本项目,增删改查。主函数加子方法,那时候流行花里胡哨的颜色,其实没啥用,大概就是想炫技把。学会了加断点调试错误,但是还是不太会看错误信息。但感觉好歹做出来了,挺牛的。
难度升级
可是悲剧的是,仅仅过了一年,第二年就开始换java语言了,然后开始讲数据结构、计算机组成原理等等这种更加理论弄不明白的东西了,我当时简直傻了。这种课有什么特点呢,就是对于我来说,课上讲的都能马马虎虎听的懂,可是上完课,再看书,已经觉得在看天书的感觉。。。
真的是太痛苦了,就像是初中的课程还没完全弄明白,就开始高中的课了。上课啥都懂,下课全忘完,每天觉得自己在修仙。
持续升级
这事怎么解决呢,其实当时我处理的不好,没怎么解决,只是在拖着。
上课也就听听,做做作业,但落地很不好,只是保证考试不挂,高分就做梦了,从此与奖学金无缘。。。代价十分惨痛。
当时有消息说开始acm组队,我就找老师想参加,老师说可以,卖给我了一本五块钱的印刷版胶缝的习题集,让我练习,然后每周六打校内赛,一个学期选出校队,暑假集训然后参加全国比赛。
我一听,可以,买,学。结果,一翻开习题集,原地爆炸。真的是不会啊,EOF判断,输入输出啥的规定格式判定,看不懂,没人讲。
咬着牙,去做题,可是连代码都写不出来,因为没有模板没有答案,只有思路和题解,但是伪代码落到实地这个过程,其实没人教的话真的很懵,真的是迷茫啊。。就这样,糊里糊涂地学了一周,然后鼓起勇气去参加比赛,五道题,就死磕第一道简单题,终于做出来了,ac90%。
这件事很沮丧,但也觉得有点成就感,我解出题了,哈哈哈
end
先写这么多把,如果把这么多年的心路历程写完,我估计能写几万字,抽空再写把