关于5年程序人生路:非名牌大学,非盘算 机专业, 本人普通院校,非盘算机专业本科毕业。从毕业到现在也工作有五年了。回顾启程序人生,也颇有一翻滋味。 本人是从大三上学期起头学习盘算机的,因
热点专题 收藏本站 更多栏目
首页
你的位置: 主页 > 校园资讯 >

5年程序人生路:非名牌大学,非盘算 机专业,

5年程序人生路:非名牌大学,非盘算 机专业,: 本人普通院校,非盘算机专业本科毕业。从毕业到现在也工作有五年了。回顾启程序人生,也颇有一翻滋味。 本人是从大三上学期起头学习盘算机的,因为那时电脑突然一下对比普及,本人家
5年程序人生路:非名牌大学,非盘算 机专业,

本人普通院校,非盘算 机专业本科毕业。从毕业到现在也工作有五年了。回顾启程序人生,也颇有一翻滋味。

本人是从大三上学期起头学习盘算 机的,因为那时电脑突然一下对比 普及,本人家里也有能力 买台电脑。买了电脑后,最先看的是C语言的数据结构 。用电脑调试书里面的各种程序,那时第一次看数据结构 ,我接近全力去看,但是没看懂多少东西。只是把书里面的代码敲了一遍,运行后看看是否和书里面说的效果 是一样。但很多时候,第一次都是没通过调试的,创造不是这里抄错了,就是那里抄错了。通过不断的查找,最后才干 运行正确 ,那时心里就会才生少许的成绩 感,感到 自己写的程序调通了(虽然只是照着抄了一遍)。看完数据结构 (其实有很多东西还是不懂),我去找了本盘算 机组成原理来看。效果 看得自己更加含混 。因为这本书里没有代码,只有一些抽象概念,当时好像只记得CPU有几个寄放器寻址,还有些补码,反码什么的。那个书又厚,硬着头皮翻了一遍后就没看了。接着买了本操作系统原理来看。也是很难看,都是些概念的东西,又没代码调试。比如什么GDT,虚拟内存分段,分页,实模式,保护模式,中断 等等。也是硬着头皮翻一遍,能懂多少是多少。看完后,接着就看那个编译原理,因为网上都说懂编译原理的人都很牛,我也盼望 变成牛人所以也去搞了本回来看。效果 创造,能懂编译原理的人,确凿 对比 牛。里面涉及到主动 机的概念。属于用盘算 机来做人工自能的范畴。我也很想成为牛人,硬着头皮看,效果 还是有心无力。经过这样一个历程 ,虽说很多都不懂,但却使我对编程从一无所知到有了一种含混 的认识。大概了解 了什么叫做内存分配,还有程序的那些字母符号是怎么被盘算 机履行 的。这时回头把原本的数据结构 翻出来再读一遍,突然创造这本书比起其他三本都容易,也很好懂。明白了什么叫做算法,并且可以尝试去实现自己想的一些算法。当时的清高 感油然而生。感到 电脑可以遵守我的想法去工作了,非常高兴 。虽然那时我并不了解 多少C语言,对指针也只大概知道是什么东西,实际中还是不会利用 。但至少可以利用 我所知道的,来实现我所想到的。在当时一股感动之下,写了几个自己记忆由心的算法:

1,从1到100,每数到7的时候,把该数字提出来,剩下的数字持续 循环,问最后剩下的一个数字是多少。我记得好像是50。

2,任意输入数字,和“+ - * / ( )”几个符号组成一个算术表达式,盘算 出值是多少。

3,记得看过盘算 机组成原理里面有个磁盘调度算法,用的是现在电梯常用的电梯算法。感到 这个算法很好,就去用C语言实现了一遍。

刚起头写程序,都是一个main函数整个 搞定。慢慢的,在算法实现的历程 中创造,如果一个算法太大,一路写下去,代码会很长,并且很容易想了前面就忘后面该怎么写,或者写到后面,忘了前面写的是什么。 这时,就产生 了一种想法,就是刚起头设盘算 法的时候,想好哪几步,然后每一步用一个函数代替 。main函数中只是分步函数的流程把持 。这样main函数的代码就大大的减少,逻辑变得非常清楚 。然后可以像填空一样把每个分部函数完成。接着在子函数里面还可以分成子函数,分到后来,创造很多函数可以被其他的函数调用。达到 重用的目标 。记得当时创造这个法子 后,也是异常的高兴 。这种法子 居然被自己想到了,感到 自己真是个人才。因为自己是非盘算 机专业,想找编程的工作,起码要有一个东西证明自己是学过盘算 机的。所以在这期间报考了那个高档 程序员(高程),因为要测验 ,所以学习了一些汇编之类乱七八糟的东西。测验 好像分为笔试和上机,但是现在已经忘怀 是哪一个没过了。愁闷 !没过之后,不甘心 ,就去报了个盘算 机等级测验 (3级,互联网技巧 ),效果 不出意外,将证书收入囊中(不过现在想想,一点都没用上。拿回来后,从来都没给人看过,现在都不知道放到哪里去了)。

搞完这些,自己大三也差不多收场 了。自己也知道到了大四要起头找工作,所以不能自己专门去钻研 什么算法。那个东西当不了饭吃。所以要搞一些对比 风行 的东西,起码需要 混到一个工作。所以那时就搞了一本“C#入门经典”。因为那时听说.NET对比 风行 ,好找工作。并且对于一个新的东西,我对比 喜爱找一些名字上有“入门”两个字的书(这样的书里面一般都会很详细的奉告 你如何搭建调试环境)。因为程序这个东西,你首先要能够搭建一个调试环境,光靠看是看不出什么东西来的。后来感到 这本书还不错,不白费 我100块大洋。从中学到了一些.NET的根基用法。并且对面向对象讲得对比 详细。“面向对象”那一章我也很认真的重复 看了好几遍,因为那时03年面向对象非常热门 ,网络上面到处是“面向对象”几个字,感到 编程高手都是见面 向对象。我也想成为高手,所以我就抱着一种不搞懂不罢休的气魄 去看。效果 ,只是记住了面向对象的语法。书中和网上举得例子也很简略 ,多半是些动物是抽象类,然后,分什么鸡,鸭,鹅之类的去继承,然后动物都有吃饭的接口,鸭子有游泳的接口, 此类等等的例子。看了半天,也没弄明白这些对于我写程序有多大的作用。后来,从书上抄了一份网站购物车的程序,认识到了WEB的开发流程,感到 自己也可以上路了。因为当时才大四上学期,也没有到处发简历。只是在网上留神一些招聘信息。当时也是在CSDN里面,看到一个本地的公司在招人的帖子,公司很小,刚起步。我想该当不会请求 很多,我也就去应聘试试,盼望 自己能够应聘上,这样至少能够证明自己有资格 成为程序员。应聘的时候,老板问了一些问题,多半是WEB开发方面的技巧 问题。由于那时我对WEB只是刚刚接触,懂的不多。好像当时有一半以上都没回覆上来。走的时候,我把我从书上抄的那份程序放到电脑里运行出来给他看了看。大言不惭的说者是我写的。他看了看,点了点头,然后就回去等消息 。我是星期五去面试的,星期天公司打电话让我星期一去上班。听到这个消息 后,心里莫名的感动 。请同寝室的哥们大吃了一顿。大家也都为我能这么早找到工作感觉 兴奋 。后来,就是白天到公司实习,晚上回寝室睡觉。工作后慢慢的,那种高兴 感就消散 了,取而代之的是工作压力,由于做WEB开发,服务端的C#还好说一点,但是前台用到很多的是HTML和JAVASCRIPT,当时对这个知道的很少,只能一边翻书,一边做事。要达到 老板的请求 ,每天都八点左右才干 搞完下班。

工作渐渐展开之后,就是僻静 如水的生活 ,每天上班,吃饭,睡觉,日子也过得很快。刚起头,由于了解 东西少,所以每次任务 下来后,都是积极的去完成,因为恐怖自己做不完。但是渐渐的,当自己明确该怎么做的时候,人会产生 疲惫 ,因为每天都做一些差不多的劳动。慢慢的,做事情就喜爱疲塌 了。当分配一个任务 后,自己先估计 一下这个工作自己大概需要 多久,一般老板给的光阴 会多很多。所以喜爱把工作先放着,去看看网页,逛逛论坛什么的,等到剩下的光阴 差不多了,需要 起头工作了,就懒洋洋的进入工作状态 ,但是往往完成工作质量都不怎么好,很多提交后会有些BUG。不过我也没怎么在意。因为和老板关系好嘛,像我这样,再怎么说也属于元老级别的。就这样慢慢的工作了几年。因为小公司什么都要做,技巧 也积累 了很多。包孕各种主流数据库的用法,.NET,CSS,JAVASCRIPT,PHP,JAVA,perl,FLASH, 等等,其间,自己独立开发项目标 时候,总想找出一种架构,加快自己下一个项目标 开发进度。但是每次开发完后,创造上次设计的架构真垃圾。开发过很多项目,每次都想了一些新的架构法子 。到现在沉淀下来的还值得用的架构思想也没多少。记得在做JSP的时候,感到 JSP里面服务端代码和HTML混在一起,很难看。不如.NET的事件驱动好用。就去写个模块,让JSP也实现事件驱动的模式。效果 写到后来,也没得到什么利益 ,并且感到 有点不伦不类,

后来项目慢慢做大了,才渐渐明白面向对象的用意。当一个项目很小,逻辑很简略 的时候,用面向对象的法子 设计用场 不大,反倒是组件用场 更大。因为项目小,根基上都是建几张表,改改HTML的工作。但是项目一大,逻辑变繁杂 了,如果你要理明确逻辑,这里就需要 一种法子 论。我一起头写算法的那种法子 有点不实用 了。原本那种是从顶层起头,向下细分。是一种至上而下的设计法子 。而面向对象不是,它是一种由点及面的设计法子 。面向对象是先找出一个个对象点,然后再找出每个点之间的关系。在实际的项目中,你很难从上至下的设计。因为项目需求往往刚起头很不全面,很多项目后来改得都是面目全非。从上至下的设计不适宜这种平常 的修正 。并且当需求很大时,他涉及东西太多,你也很难从一个俯视的角度去全面的看这个系统。所以从上至下的设计不能满足请求 。打个比喻 ,记得一个项目已经做了80%,效果 客户感觉用得不方便 ,要改一下。很多原本做的功效 都不需要 ,并且提了几个新功效 。但这几个功效 也只是对原本的功效 稍加修正。但是逻辑上看却是大相径庭。人脑不是电脑,如果想着这个代码,去改那个代码,势必到后来让自己也搞糊涂了。所以需要 抽象出几个对象出来,是遵守客户的思维法子 。然后抽象出来的对象里面包孕 原本的功效 。这样做起来就事半功倍。

在工作的磨练中,慢慢的创造了普通的程序员与优异的程序员的一些区别 :

1, 普通的程序员遇到问题喜爱张口就问别人,问之前没经过大脑想想。这是一个不好的习性。其一,自己都没仔细 想想,就算别人帮你把问题解决了,你自己不多久就会忘怀 。下次遇到,照样是不会。因为这个问题你没有经过大脑。其二,能够回覆你问题的人,多半是有必然经验了。他们或许很会布置 好自己的事情,管理好自己的光阴 。如果时常去打断他们,他们会感觉你很烦。

优异的多半会先到网上查找一下相关问题,看看网上有没有相关解决法子 。经过一翻查找,他会把这个问题记得对比 牢。

2,在一个项目标 合作开发中,普通程序员往往只领会 自己开发那方面的东西。项目做完后往往对全部 项目有哪些功效 都不太明确。可能会有人抱怨 ,自己工作都做不完,哪有光阴 去领会 全部 系统。但现实多半是,花大宗的光阴 去网上闲逛,却不愿花光阴 去增进 知识。 如果总觉得 项目标 设计是设计者的工作,自己没必要去领会 。那么这样的程序员只能是手工劳动者。

优异的程序员会对全部 项目有认识,对一些自己感兴趣 的功效 会去做一下领会 ,更优异一点的,会去对全部 项目标 架构设计做一下领会 。自问如果他是项目设计者该怎么做? 去学习项目设计的优异之处,去创造设计的不足之处。触类旁通,把优异的处所 用在自己将来的工作当中。

3,普通程序员往往有很大的惰性。不能自觉的去学习知识,增进 能力 。所以每天耗损 大宗的光阴 在一些消遣状态 中。所以光阴 往往白白的浪费掉。

优异的程序员往往会布置 好自己的工作和学习。在工作中学习,在学习中工作。能够感到 到自己每天都向着自己的目标 在前进,状态 佳,动力足。他们因为每天工作情绪 很高,所以钻研 的东西也多,光阴 对比 名贵 。因此他们会长于利用 一些工具来操作自己的电脑,大大来的减少琐碎的电脑操作光阴 。更有胜者,会开发一些符合自己的操作习性的小程序,来进步 自己的效率 。说不定这些小程序放到网上共享,可能还会有意想不到的收获。

我现在做项目管理员,看着手下的程序员,时常也让我想起原本做程序员时候的坏弊病 。比如,上班迟到啊,工作光阴 上网闲逛啊,交上来的程序BUG成堆啊...!看到这些,我时常都是会心 的笑笑,可以了解! 不过我也时常提示 他们,如果你们想将来成为IT界的精英,而不是等到30岁感到 自己无路可走,那么请你们爱护 自己的光阴 。如果你们自己都不爱护 自己的光阴 ,那么别人更不会去爱护 你的光阴 。

今天花了两个多小时,写了一篇短篇自叙。感到 值得,把自己五年多的时间 回首了一遍。从前的故事历历在目。写下来过五年后再来回首一下,说不定会是另一番感受。

Tag:    

    注:5年程序人生路:非名牌大学,非盘算 机专业,一文由大学生活网免费提供,来源于网络。本文著作权归作者所有,请在转载引用时保留。否则因《5年程序人生路:非名牌大学,非盘算 机专业,》一文引起的法律纠纷请自负, 2010-03-07发布。
    编辑提醒:如果觉得文章不错,建议你及时收藏,方便下次访问。
    关于我们 | 联系我们 | 版权声明 | 意见反馈 | 网站地图 | 收藏本站 | 设为首页 | 在线帮助
    大学生活网 Copyright © 2008-2010 All rights reserved.站长QQ:6160-3992