博文

[置顶] 老程序员十年程序员生涯总结(连载4)[本BLOG精华] --转载(2005-11-16 23:53:00)

摘要:

悲哀吗?一个中国的程序员要到29岁才可以真正自由地学习想学的东西!    我开始研究面向对象理论,看了大量的书,每天都在实验室学习到深夜12点,天天上网,csdn成了我最常去的网站。    随着我对软件技术的了解越多,就越深刻地感到国内与国外技术水平的差异是如此的巨大,巨大得甚至有让人绝望的感觉。同时,在北京这个中国软件人才最集中的地方,我也见到了许多牛人,一个清华的本科学生,做程序员可以拿到一个月12000元的工资,一个北大的计算机系研究生,一毕业就到外企,一个月一万多收入,每年发16个月工资!干了两年就开了自己的公司。我看到了一个北方交大的本科生作品,在半年的业余时间里,用delphi写了十几万行代码,他甚至在代码中嵌入汇编,自行编写数据存取引擎读写foxpro,速度超快!软件中有一个计算公式解析模块,他用编译原理理论居然做了一个小型的公式解析器,就象c++编译器检查c++程序一样,不仅可以判断是否公式正确,而且给出的出错信息还相当准确!其基本功之扎实,水平之高让我望尘莫及!中国优秀的人才真还是不少的!在精英集聚的北京,面对着博大精深的软件科学,我深感自身的渺小。    但我毕竟是靠自己奋斗出来的,我并不自卑,这世界需要牛人,同样需要大批合格的劳动者,我成为不了牛人,但我作一名程序员是合格的。    时间过得飞快,一年半根本就不算时间,马上就要毕业了,学习的成绩如何,要到社会上去竞争了,让社会考场来决定你是否及格。
3.毕业求职    98级的研究生是it业最后辉煌的回光反照。当时,各大公司都发了疯似的要人,象华为,当时是来者不拒。计算机专业的研究生是一抢而光,本科生也供不应求。2001年毕业的我的师兄师姐们,平均每个人手头都至少有两三个offer,谈的工资没有低于每月6000的,许多人去了外企,工资在8000~10000每月的也有。真是毕业生的黄金时间。    但好景不常在,911事件我看来好象成了分水岭,911之后,整个it业急刹车,就业形势急转直下,各大公司都在消化去年吃得过饱的胃口,我形容是大家都吃坏了胃,再也不可能有我师兄师姐们的风光了。虽然时间相隔仅大半年。    从10月开始,11月和12月,我几乎是在招聘会与公共汽车上渡过的,北京东南西......

阅读全文(6861) | 评论:10

[置顶] 老程序员十年程序员生涯总结(连载3)[本BLOG精华] --转载(2005-11-16 23:53:00)

摘要:

我到了中关村,见到了那些我非常熟悉的公司:北大方正,金山wps,江民科技……,见到了北京书堆积如山的书店,感叹这里真是一个知识的海洋,觉得亲身感受到了中国it业的脉博。    大哥回去后,我一个人留在北京,骑着辆破自行车逛了中国最有名的大学:北大和清华,北大风景如画的未名湖上处处荷叶飘香,清华平平展展的草坪展示一种平实坦荡的心胸。一墙之隔,校园内外,就是两种不同气氛,无名无状,却让我这个二十多岁没出过广西的土包子感受深刻。    “疯狂”的考研班    我参加的是暑期文登学校的考研班。中央财经大学那栋破败不堪的学四楼里,住满了来自全国各地的学生,和我住在一起的,一个是湖北的,一个是东北的,一个四川的,为了同一个目的,大家从天南地北聚到了一起,我当时真感到了一种“家”的感觉,原来这世界有这么多同路人,我不过是中国十几万考生中一名不起眼的“老生”罢了,但还不算是“范进”。    考研班的日子是“疯狂学习”的日子。    记得我们需要到北方交通大学的大礼堂去听人大老师索爱群的政治课,一千多人的大礼堂被挤得满满的,连过道上都坐了人。在老师的讲台前堆满了各式各样的录音机,足有一百多部,来自全国各地的莘荠学子拿着一瓶矿泉水,在北京最热的7月,挥汗如雨地在记笔记!这段日子,我用去了7个笔记本!这种气氛,我以前在广西是从未见过的。我本来以为我已经够努力勤奋的了,到北京考研班一看,根本就不算什么。    陈文灯老师教的数学给我留下了最为深刻的印象,他上课不用讲稿,所有的例题全都记在他的脑里,随手就可以写出来,丝毫不差,还总结出一整套解题方法,让我大开眼界。我是见着了,原来一个人对本职工作可以精熟到这种地步!后面我还会谈到另一位老教授对职业可贵可敬的敬业精神,不敬业,就不是一个合格的劳动者。    我一直呆到身上没钱了才离开北京。这三个月花完了我工作几年的所有积蓄,却对我的影响是巨大的,中国什么地方最适合学习?最适合学计算机?在我看来,只有北京!    我下定决心,一定要到北京来学习计算机技术。
差点跳楼的致命打击    9月中旬我回到了桂林,开始准备第二年的考研。    但生活是不讲情面的,我想当然地认为经过了北京名师的指点,我去年就是数......

阅读全文(8217) | 评论:11

[置顶] 老程序员十年程序员生涯总结(连载2)[本BLOG精华] --转载(2005-11-16 23:52:00)

摘要:
学校安排上机,有同学不知从哪找来了一些有趣的basic程序,什么“比翼双飞”,“飞机空战”等等,都是一些非常简单的小游戏,当时他抄了厚厚一本,一上机就敲一些到计算机中运行,而我是一点也不会,只有站在一边看的份。    那时会计算机的人很少,老师讲的我又不明白,考试的时候也不知道怎么过的。呵呵,后来我读研打工时,在网上看到洛阳一个高中生用vb编的一个“电子书童”程序,水平之高,我当时真是没法比。    1989年,广西高考名额一下减了7000多,竞争激烈,十几人里才能取一个,由于压力过大,我高考前夕失眠,第二天考语文,120分的试卷当时只考了68分,因而与重点高校无缘。本想复读,但父母怕我来年考不上,一定要让我读广西大学,我万分不情愿地顺从了父母的意愿,去了我不喜欢的学校,读了我不喜欢的专业。男怕入错行,我在大学毕业后重新开始学我喜欢的专业,足足用了五六年的时间才转过来,真正成为一名合格的劳动者,走了一条长长的弯路,所以,父母的决定对缺乏经验与决断力的孩子而言,真的是非常重要。    现在想起来,父母当时没错,我也没错,那都是在时代与社会环境下的自然选择。    2.失败的四年本科与工作初期    记得大学第一节课就是basic语言,呵呵,也根本没学会,但我看来注定了要与basic难解难分了,后面的实践篇中我会讲我用basic开发的事。    大学里我学的专业是电力系统自动化,学过微机原理与fortran,上机时还用的是古老的主机加终端方式的计算机(叫做l/f机),我上机时真是一塌糊涂,因为这门课我从没学进去,也从没学懂过。有同学很厉害的,会用电脑打印出许多漂亮的图片(当然现在看起来很粗糙,针式打印机打的),我那时就称这些人为牛人了。    呵呵,我如果没记错的话,做超级解霸的梁肇新也是广西大学的,但不是我们系,记得我当时就已听到有关几个计算机牛人的事,估计其中就有他吧,如果我记错了,梁肇新先生请指正。在本科期间,我对电脑是神秘多于兴趣。这也说明我成为不了牛人与大师,天资有限。    后来,我发现一个普遍的规律,如果能成为计算机方面的牛人与大师,请去翻翻他们的传记,绝大多数在本科期间就已展露出他们的才华。而我们现在的中国高校,这么多的本科生都在为考试、考研、考......

阅读全文(6374) | 评论:2

[置顶] 老程序员十年程序员生涯总结(连载1)[本BLOG精华]  --转载(2005-11-16 23:51:00)

摘要:
今年是我大学毕业满10年的日子,也是我投身it技术的第10年。一直想能对过去的经历做些回顾与反思,以更好地走向未来,但总没有笔。刚好csdn举办“讲述程序员的故事”征文,这件事成了一个引子,我终于趁着暑期有时间,敲了一天键盘,便有了这篇人生自述。  10年对于一个人来说是比较长的一个阶段,10年之后,同期大学毕业的同学情况差异之大,让人叹息命运之变幻莫测。  我在此记录下了我的生活足迹,由于时间较长,有些事记得不太清了,但我是尽量真实的记录当时的情况,有兴趣看我这篇长文的人请把我看成是一个在你我中间一块生活,一起喜怒哀乐,一起努力的平凡人,相信我们之间会有很多跨越时空的情感交流。 
好,就说到此吧。
序  从1994到2003,不知不觉之间,我已在计算机技术的世界里沉浸了十年。有位哲人说过:如果一个人能用十年的时间专心致志地研究一门学问,或学习一门手艺,或从事一个职业,他一定能成为这个领域的专家。我天资平庸,但哲人的话是有道理的。我用十年的时间先成为了一名合格的程序员,再成为了一个重点大学计算机专业的大学教师。十年磨一剑,蓦然回首,年华如水,青春如歌!  我父母都是城市中的平民,家境仅能解决温饱,我想我可能代表了中国社会的一大类青年,我的经历与体会可能会对许多条件并不好的年青程序员有所启示:只要努力,天资差与环境不好都是可以克服的。因为我不是牛人,所以我不能教你如何成为牛人,我只是尽量真实地写下我的经历与感触,写一个平凡人的努力过程。我为我是一个软件开发者而自豪,为我从事的教书育人的事业而自豪,并愿意为中国落后的软件业尽己菲薄之力,为此,我人生无悔!  我想分为三部分讲述我的人生经历:  上篇:学习人生:主要是我学习计算机技术的经历与感触,时间跨度大约是从1994~1996年;  中篇:艰难人生:主要是我流迹社会,失业一年半,三次考研的痛苦经历;时间跨度大约是从1997~1999年;  下篇:实践人生:主要是我的技术实践经历:在公司打工,开发软件,毕业求职与教书生涯,时间跨度是1999~2003。
一 计算机是什么东西?    我是七十年代初在中国出生的那一代人,等我们长大开始读书时,文革已经结束,相对于我们......

阅读全文(5990) | 评论:0

易语言是中国的核心技术之一(2005-12-17 18:58:00)

摘要:     微软、IBM都拿出了策略,要在中国培养大批的软件人才,其实,这是出于他们商业目标而定下的。虽然这是一个双赢的策略,但是谁赢得多点,谁赢得少点,并没有数字说话。我想,2/8定理依然有效,IBM赢得了80%,我们赢得了20%,甚至是1/9的比例。在他们的策略中,所谓那些的软件人才,就是没有自己的技术,而学崃舜罅克羌际醯娜恕QЩ崃怂堑募际酰纺圆磺逍训木统晌堑暮砩唷⑺堑男磐健⑺堑拇淌浚【患鸆SDN上面每天都有很多程序员争论着,为了.net和java而互相攻击、谩骂,如果我们只看到.net,只看到java,而不知道还有别的技术,不发展自己的技术,那么我们就会丧失自我,随波逐流!


    我这么说,可不是要放弃学习这些技术,相反,我还极力支持您去学习这些技术,师夷之长以制夷嘛。至少我自己就是这样,正在发狠地学习!但是永远不要忘记,那不是你的技术,而是你的工具!不要以为掌握了工具就是掌握了技术,会用钢笔并不等于会写文章,会用PHOTOSHOP并不等于就会做设计,这是完全不同的概念。但是如果连字都不会写,怎么可能写出一篇好文章呢?所以,我们应该把次要精力放在别人的技术上,而把主要精力放在自己的技术上:我们的网络解决方案、我们的电子政务技术、我们的企业信息化技术、我们的旅游电子商务技术,这些才是我们的技术。我们在对应用的深刻理解之上,揉进我们的信息技术,制造出超乎要求的产品,并且在这个产品上精益求精:每一处人性化的设计,每一个贴紧用户的改进,每一个小毛病的消除,每一项及时到位的服务,这才是我们的技术!不是微软的技术,不是IBM的技术,也不是SUN的技术,而实实在在是我们的技术!


    这方面,国内有好多公司值得我们学习,比如用友、金碟,他们决不会夸耀他们的学的java/.net多么多么好,而是要宣传他们的财务软件做的如何符合中国国情,如何方便统计等等,那些才是他们的技术枣不受制于美国公司的技术。我相信,在对行业的深刻理解之上,完全可以抽象出独立的体系,不管用什么操作系统,不管是什么数据库,也不管是什么开发工具,都可以拿来为我所用,而不是简单的跟随。用友等公司在十多年前就用早期的开发工具来编......

阅读全文(6310) | 评论:3

程序员四大忌(2005-12-17 15:05:00)

摘要:一忌--轻易言败,没有自信
    没有永不放弃精神的程序员,只是一个有程序员名号的假程序员。一个真正的程序员,知道在
程序设计的过程中,可能会遇到不计其数的困难和问题,可能有极多的挫折和失败,而成功只有一次。
就为解决一个问题,我们可能连续十几甚至几十小时的坐在计算机前不停的工作。一个问题解决了,
可能又有其它的问题出现。而你要是不能坚持下来,可能从前的一切努力都流失了。轻易言败的人请
不要做程序员,你不可能成功。执着是最可贵的。
    执着的程序员都是相信自己的人,每时每刻都会鼓励自己,你做的出来,你能解决,你会成功。
这样他才能坚持下去。

二忌--浮华不实,自满自大
    夸夸奇谈的人不是优秀的程序员。整个程序设计的过程就是一个研究学习,应用,再研究学习,
再应用的过程。一名优秀的程序员决不会认为自己足够好了,不需要再提高了。自满自足的人不会是好程序员,
会很快落后以致落伍。所以越是优秀的程序员越是感觉自己懂得少,不会在人前故意卖弄,这并不是故作谦虚,
而是实实在在的感受,亲自体会才能明白。
    浮华的程序员会不懂装懂,不停的强调语言的优劣,平台的好坏。追求所谓最新最时尚的技术,停留在
表面问题上。或假做深沉,用不适合的方式做不适合的事情。就像孔已己一样,以为知道"茴"字有四种写法就是
学问。最后是简单的作不好,困难的也作不好。

三忌--死气沉沉,不求甚解
    优秀的程序员是充满激情和活力的程序员。求知欲和创造欲是原动力。有求知欲你才能不停的学习,
有创造欲你才能不停的超越自己。死气沉沉的程序员已经对程序设计失去了兴趣,很快就会主动或被迫离开。
创造不是指你要发明什么别人不知道的技术或方法,而是说不能仅仅知道怎么做,还要知道为什么这样做。
之后你才能创造,其实程序设计的整个过程就是创造的过程。

四忌--强调客观,忽略自身
    很多程序员都是在失败的时候强调......

阅读全文(3110) | 评论:0

高级程序员考试大纲(2005-11-26 12:57:00)

摘要:考试对象与要求

能按照软件需求规格说明书进行软件设计并担负指导程序员工作的技术人员
具有中级技术职务(工程师)的实际工作能力和业务知识
考试范围

一.软件设计能力

简单计算机应用系统的需求分析
流行的需求分析方法论初步
数据流图的设计及改进
软件界面设计
输入输出数据文件的设计
用户界面的设计
软件间的界面设计
概要设计
模块划分方法
模块调用关系的描述
模块功能描述
模块界面描述
常用的设计方法
详细设计
满足指定功能的各种处理过程的算法设计、评价和改进
PDL语言
数据库/数据结构的设计
根据不同的要求进行数据库/数据结构的设计、
软件测试
测试方法
测试用例的设计
测试的静态和动态分析
测试的计划与实施
测试报告
测试结果的评价
测试工具
排错技术
文档编制
概要设计规格说明书
详细设计规格说明书
数据库/数据结构规格说明书
集成测试计划和集成测试报告
文档编制标准
文档编制工具
软件维护方法和工具
软件可靠性和安全性设计
设计评审的组织与实施
软件质量管理和进度管理
二.程序编制能力

程序语言
能使用CASL汇编语言(文本将附在试卷上)(可调阅往年试卷)
能熟练使用下列程序语言中的一种
C(美国标准)/ C++

FORTRAN(国家标准GB3057-82)

根据软件设计规格说明书,画出流程图(国家标准GB1526-89)和编制程序
理解给定的程序和流程图的功能和实现思想
程序和流程图的排错
能对程序和流程图的正确性进行测试并对发现的错误或不足加以纠正或改进
具有良好的程序编制风格
基本算法的设计和分析
程序编制方法
三.软件知识

数据结构
数组、记录、列表(List)、栈(Stack)、堆(Heap)、队列、树、图的定义、存储和操作
序列、集合等的定义、......

阅读全文(3744) | 评论:0

中级程序员考试大纲(2005-11-26 12:55:00)

摘要:考试对象与要求

能按照软件设计规格说明书编写程序的技术人员
具有初级技术职务(助理工程师)的实际工作能力和业务知识
考试范围

一.程序编制能力

程序语言
能熟练使用下列程序语言中的一种
C(美国标准)

FORTRAN(国家标准GB3057-82)

根据软件设计规格说明书,画出流程图(国家标准GB1526-89
理解给定的程序和流程图的功能
程序和流程图的排错
能对程序和流程图的正确性进行测试并对发现的错误加以纠正
具有良好的程序编制风格
基本算法
查找(Search)、更新、排序(Sort)、合并及字符处理
迭代、插值、数值积分、矩阵计算、方程求解
简单图形(线段和圆)的计算机图示
程序编制方法
分支、循环、子程序、递归
输入/输出和文件的基本处理
二.软件基础知识

基本数据结构
数组、记录、列表(List)、栈(Stack)、堆()、队列、树的定义、存储和操作
基本的程序控制结构
分支、循环、子程序、函数和过程
递归
流程图的标准形式
程序语言的基础知识
语言所提供的数据结构和控制结构
常用语言的知识
语言处理程序的基础知识
汇编、编译、解释系统的基础知识
文件系统使用的基础知识
文件组织的类型和特点
文件命令和文件语句的使用
操作系统使用的基础知识
操作系统的类型和功能
联机命令语言和作业控制语言的使用
常用操作系统的知识
常用软件开发工具和平台的基础知识
数据库系统使用的基础知识
数据库模型
数据定义语言和数据操作语言的使用
SQL的使用
常用数据库管理系统的知识
网络软件的基础知识
计算机信息安全基础知识
计算机信息安全基本概念
常见计算机病毒的识别
三.硬件基础知识

数制及其转换
· 二进制、十进制和十六进制等常用数制及其相互转换

机内代码
原码、补码、反码、移码
定点数与浮点......

阅读全文(5471) | 评论:0

问题大全(自己收藏)(2005-11-18 12:53:00)

摘要:1 【 C 语言吧 · 问题资料大全 】 
 注意:
1.这里会尽量搜集所有问题,定时更新,有问题请先查阅这里.
2.为方便查阅,请不要在此问问题,此类贴将被删除,不另通知.
3.希望这里成为大家学习 C 的好帮手. 2 ■■■■■■■____本吧相关____■■■■■■■ 
★本吧推荐的几个C编译器: http://post.baidu.com/f?kz=2769360
◆本吧代码格式编辑器: http://post.baidu.com/f?kz=9364381
◆本吧代码中显示?: http://post.baidu.com/f?kz=5054984
4 ■■■■■■■____学习资料____■■■■■■■ 
◆搜索答案与提问的秘诀:http://post.baidu.com/f?kz=6602487
◆C 语言学习看什么书:http://post.baidu.com/f?kz=5728013
◆如何学好c语言:http://post.baidu.com/f?kz=8642778 
◆学 C 容易出错的地方: http://post.baidu.com/f?kz=4275539 
◆C程序易犯错误:http://post.baidu.com/f?kz=12428951
◆几种排序算法:http://post.baidu.com/f?kz=5633380
◆几个经典字符串Hash函数:http://post.baidu.com/f?kz=5662514 
◆100,000素数表:http://post.baidu.com/f?kz=5663116
◆C99 的语言新特性:http://post.baidu.com/f?kz=4784366
◆深入理解C语言指针的奥秘:http://post.baidu.com/f?kz=5932198
◆ISO-c99标准英文全文(pdf格式):http://www.nirvani.net/docs/
◆C 的文件操作:http://post.baidu.com/f?kz=5877273
◆字......

阅读全文(7592) | 评论:1

成为编程高手的二十二条军规[转](2005-11-18 12:47:00)

摘要: 楼主   1.大学生活丰富多彩,会令你一生都难忘,但难忘有很多种,你可以学了很多东西而难忘,也会因为什么都没学到而难忘!
  2.计算机专业是一个很枯燥的专业,但即来之、则安之,只要你努力学,也会发现其中的乐趣的。
  3.记住:万丈高楼平地起!基础很重要,尤其是专业基础课,只有打好基础才能学得更深。
  4.C语言是基础,很重要,如果你不学好C语言,那么什么高级语言你都学不好。
  5.C语言与C++语言是两回事。就像大熊猫和小熊猫一样,只是名字很像。
  6.请先学习专业课《数据结构》、《计算机组成原理》,不要刚开始就拿着一本VC在看,你连面向对象都搞不清楚,看VC没有任何用处。
  7.对编程有一定的认识后,就可以学习C++了。(是C++而不是VC,这两个也是两码事。C++是一门语言,而VC教程则是讲解如何使用MFC类库,学习VC应建立在充分了解C++的基础之上。看VC的书,是学不了C++语言的。)
  8.学习编程的秘诀是:编程,编程,再编程;
  9.认真学习每一门专业课,那是你今后的饭碗。
  10.在学校的实验室就算你做错一万次程序都不会有人骂你,如果在公司你试试看!所以多去实验室上机,现在错得多了,毕业后就错得少了。
  11.从现在开始,在写程序时就要养成良好的习惯。
  12.不要漏掉书中任何一个练习题——请全部做完并记录下解题思路。
  13.你会买好多参考书,那么请把书上的程序例子亲手输入到电脑上实践,即使配套光盘中有源代码。
  14.VC、C#、.NET这些东西都会过时,不会过时的是数据结构和优秀的算法!
  15.记住:书到用时方恨少。不要让这种事发生在你身上,在学校你有充足的时间和条件读书,多读书,如果有条件多读原版书,你要知道,当一个翻译者翻译一本书时,他会不知不觉把他的理念写进书中,那本书就会变得像鸡肋!
  16.我还是强调认真听专业课,因为有些课像《数据结构》、《编译原理》、《操作系统》等等,这种课老师讲一分钟能让你明白的内容,你自己看要看好几个月,有的甚至看了好几年都看不明白。
  17.抓住在学校里的各种实践的机会,要为自己积累经验,就业时经验比什么都有用。
  18.多去图书馆,......

阅读全文(4509) | 评论:9