那些年啊,那些事——一个程序员的奋斗史 ——20

因为产品已经要接近批量产,基本上软件方面也不会有很大的变动,只要之前的程序不出现致命的BUG,那么就可以宣告完成。只不过这种没有经过严格测试的程序,仅仅是程序员自己觉得没问题的流程,完全没有BUG的可能性又是几何呢?只不过作为程序员,除非是专业测试的,估计没有几个人会整天对着自己写好的程序在进行测试吧?段伏枥自然也是如此。段伏枥曾经问过黄华中接下来还要做什么,可得到的答复是,暂时没什么了,你先看看一些资料吧。只不过这么一来,上班时间就完全空闲了。

很多职场新人遇到这种情况,都是乐得屁颠屁颠的,上班就会在浏览网页,聊聊QQ,昏昏碌碌过一天。所幸的是,段伏枥并没有这样做,因为之前很久找不到工作的经历实在给他留下了难以磨灭的伤痛。他无时无刻不在担心,万一这家公司炒了他,那么自己再找工作的时候,是不是也是这么艰难?或是说,经过这几个月,自己有了多少长进,能不能作为找工作的资本?回头一想,发现自己还是很多东西不懂,也就不敢太放纵自己。既然工作上暂时已经没有安排,那么为何不自己给自己充电?

这时候,有一本书深深影响了段伏枥往后的代码风格。这本书就是北京大学出版社出版的《Windows CE程序设计》。在此之前,段伏枥所看的关于Windows CE的书籍,全部都是出自于国人之后,无一例外都是采用MFC架构。众所周知,MFC封装了Windows API很多东西,感觉上似乎是方便了很多,但实际上对于初学者弄明白程序的架构却是大大不利。就如同段伏枥写的计算器一样,虽然有很多按钮,但他也仅仅知道双击按钮的时候会转到源文件的某个函数,在这个函数里写的代码是响应点击事件的,仅此而已。至于这个双击函数是如何被调用的,则是一无所知。于是便给段伏枥造成了这么一个假象:编写Windows窗口程序和在学校里学的C++不同,它可以不按执行流程运行并且能够很神奇地跳跃执行某些函数。总而言之,学校学的东西似乎和工作上所运用的完全搭不上边。

可看了《Windows CE程序设计》一书之后,段伏枥的认识完全被颠覆了。原来Windows桌面程序也和学校里所学的C++一样也有入口函数的啊?所不同的是,C++入口函数是main,而Windows程序是WinMain!原来程序没有像学校所学的C++那样马上退出,是因为主线程有个消息提取的循环函数啊!原来按下按钮时系统会发送一个WM_LBUTTONDOWN消息,放起来时又有一个WM_LBUTTONUP,而相应的处理函数就是在这时候被调用的,而不是之前所想象的那样神奇的跳跃执行啊!原来Windows程序也可以写得那么干净,可以没有那么多莫名其妙又不知所云的宏定义啊!

可为什么那么多人会用MFC呢?这个疑惑不久之后段伏枥也明白了。MFC封装了很多东西,在某些方面确实会比较简单。比如说,创建一个最简单的窗口程序,MFC只要在新建工程的时候选择相应的选项,最后点击完成即可;可如果直接使用Win32 API呢,那么就必须自己先手动注册窗口类,然后创建一个窗口,接着自己去处理消息循环,最后根据消息来做相应的动作。如果是从无到有,那么这一套流程下来,至少也要花上一两个小时,相对于MFC的随手点击,效率确实差了不少。但这样的好处是,自己能够明白程序究竟做了什么,而不像用MFC那样糊里糊涂。至少可以让程序员感觉到,这一切都是可控的。

其实对于刚入门的初学者来说,不应该一上手就去用MFC,或是C#之类的语言。虽然说这些高级的东西能够大大减轻工作压力,加快工作效率,但对于程序员个体来说,又得到了什么,又学到了什么?这些高级玩意,不是给初学者用的,而是为高手准备的。因为对于高手而言,他们已经知道了很多东西,已经没有任何必要从一个框架一门语言中去学到什么,而只需要拿着这个工具去解决问题即可。而反观菜鸟,如果要提升技术,那么背后的那些东西肯定是需要知道的,可偏偏类似于C#的这种高级语言把这些都完美封装了,所以很多一开始就上手C#的程序员,很多年过去了,也做了不少东西,也解决了不少难题,但对于背后的为什么可以这么做,却还是不知其所以然。因此经常可以看到一个用C++做了五六年,然后转到C#做个一两年,在某些新技术方面会比一开始就用C#,并且用了八九年的工程师的领悟性还强。

只可惜现实是残酷的。虽然对于程序员来说最好的途径确实是从最基础的东西开始,但往往不具备这样的条件,因为对于公司来说,个人能学到什么东西并不是那么重要,最重要的是什么时候能够完成这个任务。如果公司需要做一个C/S的玩意,负责人肯定不会对程序员说:你先将操作系统的原理搞熟悉,然后再把这网络协议给弄明白,当然这虚拟机的原理也搞清楚,最后再给我把这任务完成。估计要真把这些东西给弄明白,少说也要几年时间,公司可以等吗?客户可以等吗?所以这样的情形之下,负责人肯定会这么说:我们做的这个C/S玩意,你们看看需求,看看是用JAVA还是C#快,我这周就要出个样本程序!

要不要先将这基础学好,再去找工作?这个更不现实了。人所要解决的,首要是温饱问题,如果还饿着肚子,谈何来的理想?那么是不是初学者注定就这么昏昏碌碌下去?其实并不尽然。因为在工作之前,其实有一段时间,刚好可以将这基础打好,那就是——大学四年!大学的英文是University,谐音为“由你玩四年”,想必这是中国大学最真实的写照。除了那为数不多的几所名校以外,大部分的大学都是放羊式,不管你平时干什么,不管你是不是真的学到了东西,只要考试及格就给你发毕业证。更为糟糕的是,大学老师水平也是良莠不一,比如第一节课,老师会大言不惭地说:这门课其实我也没学过,这学期我们就来一起学习!然后上课时,就把课本照着念一遍,匆匆了事。类似的事件,其实不在少数。但这些,并不能作为自己懒惰的理由。其实从另一个角度来说,老师的放任不管未必不是件坏事,至少学业上不会有太多的压力,自己能够凭着喜好去学习其它的知识。

只不过段伏枥明白这道理的时候,已经晚了。自从找了第一份工作之后,每天都要强迫自己去看技术书籍。每每这时侯,段伏枥总会想:这些东西大学就应该知道的,为什么大学虚度了如此多的光阴?不过自古没有后悔药,与其懊悔过去,不如抓紧现在。所以即使在没有什么任务的这段时间里,段伏枥也不敢像别的同事那样每天上上网聊聊QQ,而是抓紧时间,一本一本技术书籍进行专研。

不过这些技术书籍段伏枥能看懂吗?其实段伏枥大部分没有看懂,但他知道,看了还有希望,不看就只剩下绝望。很多初学者开始看技术书籍的态度是不正确的,拿起一本书,翻几下,发现不懂,便放下了,心理想着等以后能看懂了再看。其实这是一个伪命题,如果都懂了,那还看这书干什么?其实陶潜所说的“好读书,不求甚解”,其实是非常有道理的。对于一个初学者来说,当让开始一个从来没接触过的东西,他绝对是一片茫然,无从下手,甚至于借助搜索引擎也不知道用什么关键字;而如果以前有看过相关的书籍资料,虽然自己根本就没记住任何内容,但至少知道在哪里看过,这时候只要按照印象去搜寻,绝对比盲目搜索更为有效率。

这段时间里,段伏枥居然做到了,凡是市面上带有“Windows CE”字样的书籍,只要能搞到的,都无一例外地全部看了一遍。只不过这期间,段伏枥也发现了一些问题。如果作者是外国的,那么书中基本上都是直接用Win32 API;但如果是国内的作者,毫无例外使用MFC,更为让人惊异的是,某些书甚至还是大篇幅大篇幅抄袭另外一本的。这难道不算抄袭?结果将两本书的作者一比较,发现其中其中一本书的编者之一就是另一本书的作者。这也行?坑人吧?至此之后,只要是购买国内作者的书籍,段伏枥就不会那么随意了,都会在网上先看看相关评价,然后才谨慎入手。

再分享一下我老师大神的人工智能教程吧。零基础!通俗易懂!风趣幽默!还带黄段子!希望你也加入到我们人工智能的队伍中来!https://www.cnblogs.com/captainbed

原文地址:https://www.cnblogs.com/skiwndhw/p/10162193.html

时间: 2024-11-05 22:39:24

那些年啊,那些事——一个程序员的奋斗史 ——20的相关文章

(小说)那些年,那些事——一个程序员的奋斗史

转自:http://blog.csdn.net/x283930450/article/details/9072223 第01章    段伏枥,一个瘦小,矮小,根本和“帅”这个字粘不上任何关系的普通人 .名字的来源在于其多读了几年书的老爹,总抱着有一天要出书出名乃至于名流千古的 美好理想,但可惜现实总是给予他无情的而又现实的打击,于是就将理想寄望于自己的 儿子,起了个“伏枥”的名,寓意为“老骥伏枥,志在千里”,表达自己不到黄河不死 心的良好的愿望.     只可惜段伏枥这家伙完美地遗传了来自于老爹

那些年啊,那些事——一个程序员的奋斗史 ——24

产品的新型号依然是举步维艰,甚至可以说毫无进展.现在公司所作的A6这款GPS手持机,有个非常严重的问题,就是定位时间非常长.对于GPS来说,如果要达到定位的目标,必须同时接收到3颗以上的卫星.而A6从机器上电启动到接收到3颗卫星,至少要长达七八分钟,试想一下,如果一名司机上车之后,发动汽车后还要再等上七八分钟,是一个什么样的概念?估计会直接将这GPS导航仪直接扔窗外了.更离谱的是,限于当时的技术,如果天气状况并不是很好,比如有乌云啊,下雨啊,甚至旁边有高楼大厦,也会无法定位.那这GPS导航仪能干

那些年啊,那些事——一个程序员的奋斗史 ——04

很多人来深圳找工作的第一站是位于笋岗仓库的深圳市人才大市场,自然段伏枥也不例外.虽然段伏枥毕业于一个不入流的大学,但信心却空前地高涨.虽然这信心看起来有点过分,但段伏枥却不这么认为,他觉得自己确实是个人才,到了人才市场之后,简历一亮,绝对有不少公司挣着上前.之所以有如此自信的想法,源自于大学期间段伏枥将谭浩强的<C语言程序设计>仔仔细细看了好几遍,书后面的习题也一道不落地全部做完,学校的考试也考了满分,特别是还不费吹灰之力连续考过了计算机等级考试二级和三级.和周围的连个for循环都不知道怎么用

那些年啊,那些事——一个程序员的奋斗史 ——03

一个空荡荡的房子,对面坐着两个美女,然后旁边传来的是相较AV也不落下风的呻吟声,会是一个什么样的感觉?段伏枥此刻忍受的正是这样的煎熬.吃过饭,逛了一下白石洲的超市,买了点必备的生活用品,因为无处可去,所以便回到的出租屋.只不过屋子空荡荡的,什么都没有,没有电视,没有电脑,只有手机播放着歇斯里地的歌曲,以及大眼瞪小眼的无奈.恰逢其时,旁边的屋子传来一阵阵高低起伏的呻吟声.段伏枥这时候才发现,其实这墙还真有水分,并不是以火砖砌成的,而是用一块木板隔绝,然后再刷上颜色一致的白色胶漆.怪不得呻吟声传递过

那些年啊,那些事——一个程序员的奋斗史 ——06

似乎恰逢旅游旺季,干姐最近每天下班都挺晚:而刘思敏,也似乎在公司忙得不亦乐乎,所以还是和往常一样,段伏枥还是一人在家无聊地翻着<程序员>.约摸九点多的时候,手机响起,一看,是刘思敏打来的.        "喂,你在哪里?过来接我呗~"        "啊?怎么回事?"        "今晚公司有聚餐,然后坐了一辆公交车,到沙河那里下车.要经过那天漆黑的胡同,一个人有点怕,反正你在家也无聊,过来接一下我吧!"        刘思敏所说的

那些年啊,那些事——一个程序员的奋斗史 ——07

自从第一次面试之后,时间又过去了一个月.在此期间,段伏枥不再跑人才大市场,而专注于网上投递简历.或许是很多公司,特别是小公司都没有精力在人才大市场摆个摊,都习惯于在网上筛选简历,所以段伏枥还陆陆续续接到了不少面试通知.如果以频率来算的话,段伏枥大概两天就要去面试一次,但结果都是惊人的一致,每次都是段伏枥看上了公司,但公司并没有看上他.        信心满满的段伏枥,此时已经是跌落于人生的低谷.他倒不会去抱怨什么公司没有慧眼识珠,没有伯乐之类,而确确实实知道是自己的实力不行.在学校里面做的那些东

那些年啊,那些事——一个程序员的奋斗史 ——05

段伏枥要面试的是家小公司,主要是做手机游戏的.只不过他可能完全没有想到,他居然会给公司带来如此大的轰动,当然并不是因为他的技术.        公司占地不大,有一面是完全的玻璃,座位都是用格子隔开,这和段伏枥心目中那飘渺的白领工作环境基本吻合.首先第一面是技术关,面试官是公司的一名技术人员.估计是前一晚加班到太晚,没有睡好,在面试过程中不停地打呵欠.公司用的是J2ME,段伏枥其实只是用过,并且仅仅是按照书上的代码原样照抄写了个拼图游戏而已.        菜鸟在高手面前无处遁形,特别是技术方面,

一个程序员的奋斗史 阅读笔记

感悟如下: 1.程序员这个职业在业务方面很少有似是而非的内容,是就是,不是就不是.模棱两可是要不得的,打肿脸充胖子更是大忌,不要动不动就写精通 2.优秀的程序员需要不停学习新技术,多看书,多找资料,并在实践在使用自己学到的技术,不吝惜知识的分享 3.环境很重要:大公司学习,只是有深度,小公司学习知识面广,能解决很多基本问题.但公司若想超越对手,则会选择专研度深的程序员.程序员的知识掌握能力应该是金字塔形的 4.英文的重要性,新技术新知识都是先有英文书籍资料(FUCK) 5.应届生提高技术水平是第

《一个程序员的奋斗史》

1.一本一本技术书籍专研,看了还有希望,不看就只剩下绝望. 注释:很多初学者开始看技术书记的态度是不正确的,拿起一本书,翻几下,发现不懂,便放下了,心里想着等以后能看懂了再看.其实这是个伪命题,如果都懂了,那还看这书干什么?其实陶潜所说的“好读书,不求甚解”是非常有道理的.对于一个初学者来说,当让开始一个从来没有接触过的东西时,他绝对是一片茫然,无从下手,甚至于借助搜索引擎也不直到改用什么关键字:而如果以前有看过相关的书籍资料,虽然自己根本就没记住任何内容,但至少直到在哪里看过,只时候只要按照印