“疯狂的程序员”绝对不是靠狂妄和拼命的程序员,而是能够脚踏实地、持续努力的程序员。一个程序员真正做到了这两点,技术上去之后,唯一能够限制他的只有想像力,到那个时候,才算“疯狂的程序员”,这种程序员啊,才能令竞争对手无比恐惧。
——《疯狂的程序员》
早在2009年11月份我参加NOIP的时候,在火车上,就从与我同行的武翔宇的手机中翻到了《疯狂的程序员》的txt版本;期末考试之前去新华书店,无意中也发现了这本书;但是直到前几天才开始看这本书(当然是txt版本,不过这本书已经准备购买);昨天,其实应该算是今天了,凌晨两点,终于把这本书看完了,至于熬夜到两点的原因,不言而喻。
我不是一个程序员,我只是一个高中生,平常比较喜欢编程(我们的编程当然和程序员的编程不太一样,以算法为主),今后也未必会作一个程序员,我对纯算法的理论更感兴趣。但是读这本书的时候,总是可以不断地和绝影产生共鸣!
我也曾经熬夜写程序。记得一次化学老师布置了一个作业:每人或多人合作完成一份元素周期表。我当时就想,别人都在纸上画一个表格填上内容,这个谁都会,没什么意思,我不如写个程序算了。当时就写了一个300多行代码的查找程序,记得那次,我熬夜到了一两点,而白天还有课晚上有晚自习。而这个也是我第一次写300多行的程序。当然了,以自己现在的能力,重新审视这个程序,当然可以更加完善,但是已经没有必要了,那只是一个阶段、一次锻炼,不如就那样一直放着,在记忆中。
也不止一次地为一个问题找不到答案而闷闷不乐,对周围的人置之不理,这对于一个高中竞赛选手更应该说是常事;而且我自己感觉又是一个比较追求完美的人,什么问题不想有残留,想给每个问题都找到一个最合适的解释。做vijos、做UVa、做POJ,每道题目几乎都需要深入思考,这时候仿佛世界就只有我一个人,还有眼前的计算机,周围的人和事都不存在。不断地在草稿纸上设计算法,分析算法的复杂度,只为了获得OJ给你的AC,而一个“Accepted”对我又不止是AC。
每次看到自己进步也会感到十分高兴和暂时的狂妄。写出第一个程序,我和别人不同,一般人是“Hello World”,而我的第一次是“读入三个整数并输出”;第一个上百行的程序;第一个实用的程序;第一个游戏;第一次理解A*、动态规划、并查集、线段树……每次看着自己的程序Run起来,就会自然而然产生一种成就感。或许作者说得对:程序员不是为了工资还有其它什么而努力,而是为了对得起自己。
我现在已经高二,正在考虑是不是要放弃信息学竞赛。看了文末的“Never Give up”,自己心里一震,微微一笑,心想:“程序还是要写,常规课程也不能落下,不就相对于多开一门课吗?不就是比平常人多努力一点吗?不就是还有一年半的时间吗?无所谓了,放轻松……”
看了绝影和燕儿的结局,感觉这是书中唯一有点惋惜的地方。Girl和Man的想法还是不太一样吧,尽管绝影能挣钱,但那还不只是物质上的;尽管燕儿说支持绝影,想干就干吧,但那还不只是精神上的?
永不放弃!永不放弃又有两个原则,第一个原则是:永不放弃!第二个原则是当你想放弃时回头看第一个原则:永不放弃!
写成代码那就是:
void Never_Give_up(bool Give_up)
{
if(Give_up)
{
Never_Give_up(!Give_up);
return;
}
Never_Give_up(Give_up);
}
Never Give up!不只是程序员。
posted on 2010-02-12 10:24
lee1r 阅读(538)
评论(3) 编辑 收藏 引用 所属分类:
Programming Diary