阴差阳错就上了计算机这条“贼船”了,上了“贼船”就一时半会下不去了。更甚的是在这“贼路”走得更远了一些,注定了几年之内是下不来了!
在这“贼船”上也不好混啊,也要从基层做起。从基层做也是划了N多等级,最初的应该是Computer User,对不住,这帮人刚会用计算机;学习一点计算机专业的知识,看一点编程语言,写写“Hello World”,那恭喜了,荣升Primary Coder,没错—— Primary Coder,写Hello World,写乘法,写阶乘,写……。深入编程语言,理解了一门编程语言的基本机制,那到一个小的算法,或者功能,可以连Copy带自创地写出来,那又不一样了,成功地变成了Coder,翻译成中国人理解得了的词就是码工,码农,等同于我们广大的农民工兄弟们啦,太兴奋了,可以为祖国建设做贡献了。再次升级,脱离最底层的劳动人民的行列,努力百倍吧?需要阅两位数以上的卷数的书籍,写W级以上代码吧?这会是不是才能成为Programmer——程序员?再升一级,进入Software engineer?再向上升一级呢,估计就彻底脱离program了,称为什么,System Architecturer?Junior System Architecturer,Senior System Architecturer,种种吧!不知道如此分类是否合适哈,差不多就是这么个过程吧!那对号入座一下,把自己放到哪里呢?Primary Coder 与 Coder之间吧!(这人这么不要脸呵,真把自己当棵葱了,以为可以炒鸡蛋呢!)。这么着放是由原因的,为祖国建设做贡献,还没有呢,编程语言自认为会那么一点,写了点Code了,就这么不要脸地把自己放到了这Primary Coder和Coder之间了。别看现在不行,志向可大了,可是要让自己成为那个Senior System Architecturer (就这么点出息,没办法)。
为啥是程序与生活啊,这程序和生活又有那半毛钱关系啊?好吧,程序与生活是没有半毛钱关系。人家在说梦话呢,你管不着吧!
话说上了这“贼船”时间也不短了,粗算起来也有六个年头了吧,书也看了不少,Code也看了一些,几K应该有了。人高手是写程序思考人生,对不住,鸦雀只能写程序思考生活。要说是写程序,倒不如说调程序更好,往往一个小时写的程序要调试一个小时,或者要翻倍,或者要翻倍翻倍再翻倍,……,如此计算下去,指数时间增长。那就要说调试过程中的感受啦,仔仔细细写了一段程序,自认没有什么问题,好,Run!惨不忍睹的一幕发生了,程序还没有启动完呢,崩啦!嗯,谁写程序能没有问题呢,在那里崩了呢,就是刚才写那段,没错找到了,就是它;看一遍,没错啊?这不是都对着的吗?从那边直接copy过来的啊,没有错误啊!再次Run,还是那惨不忍睹的一幕,程序被迫退出,编译器中那一行一行醒目的红字。那就加个断点看看,Step by Step,就是它了,就在这里崩溃了!啊!!!这里原来是个空指针啊,我怎么说会崩溃呢!(以为发现了真理)。好像一般的错误到这里就结束了,严重一点的呢?那就说严重一点的错误。Step by Step,看得那个仔细啊,一步一步都过去了,没有问题,到了return,嗯?怎么还没有出错,难道不是这里出错了,那为啥崩溃的行在这里啊?Recompile不行,Clean再Build还是不行。那个苦思冥想啊,难道编译器出问题了,于是掉进“沙漠漩涡”,一直在again and again地Run,残酷的是一次一次出现Corruption。一天过去了,仍没发现问题。注释掉加入代码,Run,没问题;加入代码,崩溃。人也到了承受的至高点了。拍桌子骂娘,肯定少不了了。急性子,Shift + Delete,全推了重写。让人到达崩溃极点的是,推翻了重写,写到这里,依旧崩溃,一样的位置,一样的错误,不一样的人了!这下没脾气了,没有用的代码,一块一块注释掉,剩下框架,和错误代码段相关的变量,一个变量一个变量看值,一个一个地Trace出来,Print出来。这会又发现了“真理”,多线程情况下,一个线程修改了一个变量值,这块用到这个变量,崩溃啦!这样啊,原来是这样啊!注释掉相关线程,咦,还真是啊!马上又有了,于泰山之上一览众山之感,一切错误都是浮云。(不知道是谁前一天骂遍了这语言设计者,这编译器编写者,这……)。错误的类型还有很多啦,这编程人的情绪也是千变万化啊。一天之中,从伤感至极,跌倒情绪谷底,突然一下子从这“万丈深渊”以搭乘长征火箭的速度上升到兴奋至极,恨不得把所有的人都抱一下,亲一下,让全天下的人知道你无所不能。想法也是变化无数啊,一会想着那个孙子写得这编译器,真难用;一会又想还是这个好用,那个某某Compiler简直就是Rubbish。一会想着几年都学啥了,狗屁不会;一会又以为自己是个“圣人”,天下无所不知,无所不晓(其实就是一个“剩人”)。想想都可怕啊,这编程的都应该不是人吧,情绪大起大落的,居然能活得好好的。
这梦话说得有点过,看到的别激动啊!不过吧调试程序确实很锻炼人的精神承受能力,单单一天之中从情绪低谷到情绪高峰之间的来回波动也受不了,更别说再加上点其他的刺激了。有人曾经调侃说,程序员不需要经历恋爱,每天调试程序承受的精神压力就大于失恋要承受的精神压力了,几乎天天能感受从恋爱到失恋,从失恋到恋爱的全过程啊!不可否认的是,这么反复调试程序,反复锻炼精神承受力,生活中或多或少受到影响。其实调试程序对自己影响挺大,在写程序中不断犯错误,自己一点一点查找自己的错误,一点一点修正,原本很自信的一段Code,也是错误多多,不再那么自信;碰到事情会想一想自己是否正确,做到更加仔细,凡事不会看得那么绝对了,因为自己也是错误频频,没准就是你错了。“急性子”让这过程磨的也不再急了,就如那石头,在河里一点一点全给磨去了棱角,全成了圆溜溜的鹅卵石了。大喜大悲经历多了,生活中碰到喜事,悲伤事也不再那么敏感,一副经历风霜的样子。很不好的一点是,思维开始机械化,开始程式化,虽然不影响创新,但是多多少少在生活中,开始机械化,程式化;遇到事情开始推理原因,开始问及原由,少了几分幽默;或许这是源于事件机制,没有事件触发,怎么会发生事情呢?那好,来了一件事情总喜欢问东问西,问清楚前后经过。还有很多很多吧,总得来说还是于人还是利大于弊吧!
这梦话说得也不没完了,不说了,醒醒干点有用的事吧!
By Andy