收藏 分销(赏)

程序员学习方法.doc

上传人:a199****6536 文档编号:9396939 上传时间:2025-03-24 格式:DOC 页数:24 大小:48.04KB 下载积分:10 金币
下载 相关 举报
程序员学习方法.doc_第1页
第1页 / 共24页
程序员学习方法.doc_第2页
第2页 / 共24页


点击查看更多>>
资源描述
java程序员学习方法 有很多java程序员,在早期学习时,通常会对怎样学习而感到迷茫。下面笔者就将转发一篇一位网友精品帖,这位作者对于java程序学习分析很到位,相信能帮助那些正在处于迷茫状态初学者。 java是一个平台,也是一个程序设计语言,怎样学好程序设计不但仅适适用于java,对c++等其余程序设计语言也一样管用。有编程高手认为,java也好c也好没什么分别,拿来就用。为何他们能达成如此境界?我想是因为编程语言之间有共通之处,领会了编程精华,自然能够做到一通百通。怎样学习程序设计理所当然也有许多共通地方。 1.1 培养兴趣 兴趣是能够让你坚持下去动力。假如只是把写程序作为谋生伎俩话,你会活很累,也太对不起自己了。多关心一些行业趣事,多想想盖茨。不是提倡天天做白日梦,但人要是没有了梦想,你以为有味道吗?可能像许多深圳当地农民一样,打打麻将,喝喝功夫茶,拜拜财神爷;每个月就有几万十几万甚至更多进帐,凭空多出个食利阶层。你认为,这么有味道吗?有空多到一些程序员论坛转转,你会发觉,他们其实很乐观幽默,时不时会冒出智慧火花。 1.2 慎选程序设计语言 男怕入错行,女怕嫁错郎。初学者选择程序设计语言需要慎重对待。软件开发不但仅是掌握一门编程语言了事,它还需要其余很多方面背景知识。软件开发也不但仅局限于某几个领域,而是已经渗透到了各行各业几乎每一个角落。 假如你对硬件比较感兴趣,你能够学习c语言/汇编语言,进入硬件开发领域。假如你对电信行业知识及网络比较熟悉,你能够在c/c++等之上多花时间,以期进入电信软件开发领域。假如你对操作系统比较熟悉,你能够学习c/linux等等,为linux内核开发/驱动程序开发/嵌入式开发打基础。假如你想介入到应用范围最广泛应用软件开发(包含电子商务电子政务系统)话,你能够选择j2ee或.net,甚至lamp组合。每个领域要求背景知识不一样。做应用软件需要对数据库等很熟悉。总之,你需要依照自己特点来选择适宜你编程语言。 1.3 要脚踏实地,快餐式学习不可取 先分享一个故事。有一个儿童,他很喜欢硕士物学,很想知道那些蝴蝶怎样从蛹壳里出来,变成蝴蝶便会飞。有一次,他走到草原上面看见一个蛹,便取了回家,然后看着,过了几天以后,这个蛹出了一条裂痕,看见里面蝴蝶开始挣扎,想抓破蛹壳飞出来。这个过程达数小时之久,蝴蝶在蛹里面很辛劳地拼命挣扎,怎么也没法子走出来。这个小孩看着看着不忍心,就想不如让我帮帮它吧,便随手拿起剪刀在蛹上剪开,使蝴蝶破蛹而出。但蝴蝶出来以后,因为翅膀不够力,变得很臃肿,飞不起来。 这个故事给我们启示是:欲速则不达。浮躁是当代人最普遍心态,能怪谁?可能是贫穷落后了这么多年缘故,就像当年大跃进一样,都想大步跨入共产主义社会。 现在软件企业、客户、政府、学校、培训机构等等四处弥漫着浮躁之气。社会环境如是,我们不能改变,只能改变自己,闹市中安宁,弥足宝贵。许多初学者c++/java没开始学,立马使用vc/jbuilder,会使用vc/jbuilder开发一个helloworld程序,就忙不迭向世界宣告,我会软件开发了,简历上也大言不惭地写上精通vc/java。结果到软件企业面试时要么被三两下打发走了,要么被驳体无完肤,无地自容。四处碰壁之后才知道捧起《c++编程思想》《java编程思想》仔细钻研,早知如此何须当初呀。你现在考究简单方便,你以后路就长了,好象也是佛经中劝戒。 1.4 多实践,快实践 彭端淑《为学一首示子侄》中有穷和尚与富和尚故事。 从前,四川边境有两个和尚,一个贫穷,一个有钱。一天,穷和尚对富和尚说:我打算去南海朝圣,你看怎么样?富和尚说:这里离南海有几千里远,你靠什么去呢?穷和尚说:我只要一个水钵,一个饭碗就够了。富和尚为难地说:几年前我就打算买条船去南海,可至今没去成,你还是别去吧!一年以后,富和尚还在为租赁船只筹钱,穷和尚却已经从南海朝圣回来了。 这个故事可解读为:任何事情,一旦考虑好了,就要马上上路,不要等到准备周全之后,再去干事情。假如事情准备考虑周全了再上路话,他人恐怕捷足先登了。软件开发是一门工程学科,重视就是实践,君子动口不动手对软件开发人员来讲根本就是错误,他们提倡动手至上,但别害怕,他们大多温文尔雅,没有暴力倾向,即使有时候蓬头垢面一副比尔盖茨样。有前辈高人认为,学习编程秘诀是:编程、编程、再编程,笔者深表赞 同。不但要多实践,而且要快实践。我们在看书时候,不要等到你完全了解了才动手敲代码,而是应该在看书同时敲代码,程序运行各种情况能够让你更加快更牢靠掌握知识点。 1.5 多参考程序代码 程序代码是软件开发最主要结果之一,其中渗透了程序员思想与灵魂。许多人被《仙剑奇侠传》中凄美爱情故事感动,悲剧结局更有一个缺憾美。为何要以悲剧结尾?听说是因为写《仙剑奇侠传》程序员失恋而安排了这么结局,他把自己感觉融入到游戏中,却让众多仙剑迷扼腕叹息。多多参考代码例子,对java而言有参考文件[4.3],有api类源代码(jdk安装目录下src.zip文件),也能够研究一些开源软件或框架。 1.6 加强英文阅读能力 对学习编程来说,不要求英语,但不能一点不会,。最起码像javaapi文档(参考文件[4.4])这些东西还是要能看懂,连猜带懵都能够;旁边再开启一个金山词霸。看多了就会越来越熟练。在学java同时学习英文,一箭双雕多好。另外好多软件需要到英文网站下载,你要能够找到它们,这些是最基本要求。英语好对你学习有很大帮助。口语好话更有机会进入管理层,进而能够成为剥削程序员周扒皮。 1.7 万不得已才请教他人 笔者在chinaitlab网校在线辅导系统中处理学生问题时发觉,大部分问题学生稍做思索就能够处理。请教他人之前,你应该先回答以下几个问题。 你是否在谷歌中搜索了问题处理方法? 你是否查看了javaapi文档? 你是否查找过相关书籍? 你是否写代码测试过? 假如回答都是是话,而且还没有找到处理方法,再问他人不迟。要知道独立思索能力对你很主要。要知道程序员时间是很宝贵。 1.8 多读好书 书中自有颜如玉。比尔?盖茨是一个饱读群书人。即使没有读完大学,但九岁时候比尔?盖茨就已经读完了全部百科全书,所以他精通天文、历史、地理等等各类学科,能够说比尔?盖茨不不过当今世界上金钱首富,而且也能够称得上是知识巨富。 笔者在给学生上课时候经常会给他们推荐书籍,到日后学生实在忍无可忍开始埋怨,天呐,这么多书到什么时候才能看完了,学软件开发,感觉上了贼船。这时候,我回答通常是,别着急,什么时候带你们去看看我书房,到现在每个月花在技术书籍上钱400元,这在软件开发人员之中还只能够算是中等,学生当场晕倒。(注:这一部分学生 是刚学软件开发) 1.9 使用适宜工具 工欲善其事必先利其器。软件开发包含各种各样活动,需求搜集分析、建立用例模型、建立分析设计模型、编程实现、调试程序、自动化测试、连续集成等等,没有工具帮忙能够说是寸步难行。工具能够提升开发效率,使软件质量更高bug更少。组合称手武器。到飞花摘叶皆可伤人境界就很高了,无招胜有招,手中无剑心中有剑这么境界几乎不可企及。 两千多年儒家思想孔孟之道,中庸思想透入骨髓,既不冒进也不保守并非中庸之道,而是找寻学习软件开发正确路线与规律。 从软件开发人员生涯规划来讲,我们能够大致分为三个阶段,软件工程师→软件设计师→架构设计师或项目管理师。不想当元帅士兵不是好士兵,不想当架构设计师或项目管理师程序员也不是好程序员。我们应该努力往上走。篇二:一个c++程序员学习经历 正在上网时候有这个念头,所以急急忙忙找了一些学习编程高人感想: 我开始学vc时就是自己一个人在啃,也没什么人指导,当初没有条件上网,资料尤其少,在书店里随便买本书就学了,在学vc过程中走了许多弯路,现在回想起来以为做了很多无用功。看见大家在这里畅所欲言,有高手也有新入门ddmm,我也来谈谈学vc一点“捷径”吧,这条“捷径”纯粹走是c/c++路子,不考虑学习其余语言。(我只会c/c++,略懂vb和java,所以对于经过其余语言来切入vc没有体验,不置评论) 1. 必须对c/c++非常熟悉 假如c不熟,能够看清华谭浩强书,经典之作。(学习时间1到2个月,对函数、指针和链表须滚瓜烂熟) 假如c++不熟,能够看电子工业出版社《面向对象程序设计于c++教程》,张国锋写,既讲面向对象思想又讲c++语法,是我见过讲c++最全最好书,里面例子都是精心设计,值得好好体会。好像清华也出过一本张国锋,不过我没看过。(学习时间2到4个月,关键在于了解oo概念和c++中多态,对此应挥洒自如) 2. 最好/应该对windows结构相当熟悉。 假如你很牛,非要从mfc下手来了解windows结构,当然也不是不能够,但我认为从mfc来学习windows有雾里看花感觉,很轻易陷入迷惘中,我吃过这种苦头,希望日后者不要走这条路。 假如对windows结构不熟,能够看microsoft presswindosw95 programing,清华翻译出版了中译本《windows95程序设计》,日后北大翻译出版了最新版本。清华版译得不错,北大版没看过,好坏不知道。这本书讲是怎么样用c语言编写windows程序,不讲什么mfc或owl,看过后对windows能有相当清楚认识。(学习时间3~6个月,gui对象和消息很熟,多线程、dll有一定认识) 3. 以上两部为准备工作,ok后就能够continue学习vc了。 学vc看microsoft press《inside visual c++》清华翻译出版了中译本《visual c++技术内幕(第四版)》比较轻易上手,看《技术内幕》一定要看清华,有一本希望出版社翻译出版第五版技术内幕翻译太烂了,看希望不如直接看英文原版。(学习时间4到7个月) 4. 学习vc是为了在windows平台下做开发,所以当你对一上三步都很熟后应该深入深入学习windows体系才能开发出高性能windows程序,你也只有在这个时候才会明白为何说vc是真正程序员用工具而vb只是玩具。假如你在finish第三步之后已经忘记怎样在windows下用c语言编写一个windows程序,那么你应该把第2步refresh一下。在这一层次应该深入研究windows操作系统内进程、线程、虚拟内存等知识,还应该了解windows网络程序设计。这一步推荐书是microsoft press《advanced windows》清华翻译出版了此书中译本《windows高级程序设计(第三版)》,读此书时很多东西有相见恨晚感觉。机械工业出版社翻译出版《windows关键编程》是这本书第四版,结构上重新组织过了,内容没 有细看过,应该还能够。网络编程有一本也是microsoftpress,好像是叫《windows network program》吧,机械工业出版社翻译出版了此书中译本《windows网络编程》还不错。 用vc学vc两年了,自认为不是什么高手,精通更谈不上了,因为vc功效实在太强大了。我只想谈一谈自己学习过程和体会,总结一下自己编程之路。 一开始也和大家一样,对vc、vb、delphi、java非常感兴趣,不过学什么好呢?毕业设计来了,导师要求要么用vb要么用vc,听说vc难学但很有用,于是狠狠心用vc吧。对于一个对编程一点都不感兴趣人我想他是学不好,没有强烈动力和恒心也极难掌握一门知识。怎么办呢?你总要毕业吧,这就是我驱动力,而且编程还能够挣钱:),学吧! 对于一个一点都不懂人来说,下面知识应该补一补:程序算法和数据结构,c语言变量、数组、指针、内存、文件、函数等等基本概念和使用方法,有人说学c++能够不用学c,我个人认为还是从c学起好,因为c++对c是兼容。 有了最根本编程基础之后,我们就能够学习c++编程思想,就是面向对象(oo),自然对于什么是类、对象、组员、组员函数、结构函数、析构函数、虚函数、模板,最开始可能用不上析构函数虚函数什么,但要想精通深入就必须掌握(当然能够以后再学)。能够说面向对象是c++对c一个最主要扩展,而这也恰恰是我们了解和深入基础,这部分越扎实以后了解和掌握就越快。 再下来就是mfc了,mfc是一个很好封装类库,它诚如大家所说对用户屏蔽了很多实现机制,以致很多人只知其所以然,而不知其然。要想知其所以然,当然是学习windows编程,熟悉windows消息、窗口、api函数。可惜当初我只是为了快,没有深入地学,留下了现在地恶果,对mfc及其机制仍不甚明了。一则mfc已经封装好了,二则自己以为麻烦和累,一大堆长长函数名和长长函数参数把我吓晕了,大家千万不要学我^-^。基本观点就是假如只求使用,不学api也能够,假如想做得愈加好精通,非学不可。对于mfc,对我帮助最大是 我体会是,边学边用,边用边学。学习先打好一定基础,磨刀不误砍柴功,看似浪费时间实则受益匪浅。学习要利用一切能够利用资源,书(包含电子,不过我极少看电子版本)、bbs、网站(比如vchelp)和高手,勤学好问,搜索不倦,想必你必定也会成为高手:)。书我是狂看、乱看、瞎看,主要是没有条件和时间,当初也没人指点应该看那一本好书,标准就是找到自己需要东西书就能够拿来翻一番(当然我有图书馆这个资源,学生借本书应该没有问题)。bbs主要去精华区溜达溜达,里面都会有你要问通常性问题,假如实在找不到答案,请去codeguru,微软网站和msdn查找搜索,应该能够找到蛛丝马迹。这么还是很费精,假如有高手指点就不一样了,他们做过话,这可能就是小差一叠,随便说一个关键词就能够帮了你大忙,可惜高手毕竟是少数,恰好碰上做过高手概率就更小了。所以各式各样网站就显得那么主要,它们一天二十四小时都在,而且可能是很多高手都在,所以在它们身上能够找到一些参考答案。问教授我以为不错,vchelp更全方面和包罗万象。说了这么多,都是自己胡思乱想了,一点个人体会,不妥之处,各位多多批评指正了*^-^* 下面是我一些提议,如有不对,请批评指正.谢谢!我想现在大部分初学者都在问,怎么样学c/c++最快?确实,这是个比较主要问题,但对于初学者来说,最主要,是你对学习c/c++恒心!学习c/c++并不轻易,我想这是每个初学者很清楚事情.之所以选中c/c++是因为它包括面广,而且强大.但自学想很快掌握c/c++编程那是不太可能,除非你是个天才,或有教授专门对你进行辅导.假如学习方法和路线正确,确实能够提升学习速度和效率.下面是我对怎样学习c/c++一些看法.总共分三步.第一步.系统学习c/c++语言,(不要包括mfc.)而且学习操作系统,对操作系统运作有清楚概念.这一阶段,能够把重心放到研究算法上.(估量时间将会是一年.假如有些人帮助话,可能会减短.)第二步.开始学习mfc,并选择发展方向.一个程序员,极难做到各方面编程技术都精通,所以要有选择学习你感兴趣或有钱途技术发展.假如做游戏,则可放弃对于mfc学习,因为游戏不需要mfc.(估量时间将会是六个月.)第三步.开始对各种技术包括.因为本人还没有考虑到这一步,所以,不做多提,但假如你已经学到了这一步,也不用我再废话了.(时间未定.)当然,以上时间估量,是在假设你努力学习情况下定,并不具备实际意义.对于书籍选择,有很多人想用电子书.我提议,假如是初学,最好不要用电子书,来学习.还有些初学者对于编程工具不知怎样选择.我想不论是c或者是c++,vc都是一个不错选择.假如机器配制不高,能够使用版本低vc.vc1.52版本是个不错选择. 我在工作中,接触到印度软件企业开发出来软件:整个体系架构非常清楚 ,按照我们要求实现了全部功效,而且相当稳定。不过打开详细代码一看, 拖沓冗长,水平不咋样。我们自己一些程序员就有怪话了,说他们水平真低。 不过!印度人能够把软件整体把握得很好,能够完成软件,并得到相当好设计文档。而中国人在那里琢磨数据结构、算法,界面人员就还没编码就想着是outlook式还是visualstudio式界面。到最终就成为code高手,对一些特定开发工具精通,不过就是不能确保能够把一个软件稳当、完整开发出来。 举个简单例子:软件中需要一个列表,用来表示我们处理事务。该类表在业务繁忙时候将变得很大。中国人就用双向链表,抱着《数据结构》书在那里写链表类。印度人开了一个大数组,然后就开始干。为何印度人不用链表 ,他们说:1、你们给出设备(小型机),最少具备512m内存,浪费一些没有什么。2、数组方式访问方便、效率高。看出了一拿到东西就吭哧吭哧作code,和好好进行软件分析不一样了吗? 恰好前几天我有几个同事从印度回来和我们交流,那家企业是cmm4级企业.我感受几点:1,流程重于项目2,qc(就是qa)独立于研发部门,专门检验研发部门开发流程是不是按照既定流程走.假如qc以为流程不对,他会直接上报高层,项目定就此停顿.3,所谓项目经理(pc)通常也是从编码人员升上来,并不是所谓不懂技术,通常都最少有四年以上经验4,pc主要就是制订开发计划,负责协调,填写各种表格.5,全部东西(包含初稿)都有文档.6,详细文档要求达成只有这个文档就能够编码程度,通常写文档时间占60,编码时间极少7,有各种详细review(同行评审),项目组内,项目组之间,客户...8,计划很详细,确实能达成小时级,不过实际情况还是误差比较大,所以他们也有加班.先学习uml和rose以及ru p,不要总是要找着证据。在中国软件开发水平下,极难给你一个好例子,ok?中国人总是要看到一个东西有了试验田,而且稻子长得好,才换稻种。要知道在国外上述软件开发模式应用,大能够看看rational网页上story。justdoit! 一句话,中国软件开发水平低得很。赶不上印度人,印度软件企业能够让高中生编代码,它软件工程水平可想而知。当然,你假如是个很牛程序员。估量够呛,因为中国气氛中,很牛程序员都极难接收软件工程。你能够测试一下自己,看看自己适不适合现在学习软件工程:1、你是不是不能忍受一个编程序不如你人做你项目经理?2、你是不是以为你老板对客户吹牛皮、夸大自己而感到不舒适?3、你是不是一个拿到一个需求脑袋里第一念头就是怎样实现人?4、你是不是很崇敬stallman,linus,很讨厌microsoft?5、你是不是曾经在深夜编码时候,突然感觉到一个乏味,对code生涯感到一个无趣?以管窥豹──印度神话作者:kino我们现在处于深深自卑当中,感到中国软件工程水平低下已经是牵涉到民族劣根性问题了。1、他们软件教育水平:我们招聘印度人,给应聘者出了一份与国内差不多试卷,有基础概念和编程题目。等到他们完成后,我们这些中国自认高手惊呆了!他们编程题目简直象是剽窃?nbsp;?nbsp;程序结构,注释,变量命名就不说了吧,全部都是极其类似!反观中国牛人、高手,每个人有自己一套。到了新岗位,先把前任程序贬损一通,然后自己再开发更多问题代码来代替。我企业统计,一个软件中有4个以上csocket版本,每个人都以为他人做得差,自己再搞一套。中国人 ,就是这个样子,还会辩讲解“我们这么有创造性”。 其实软件发展,早就走过了求伯君那个编码英雄年代,程序员已经是个坐办公室蓝领了。你具备拧好一个螺丝钉能力就能够了。code是最低级事情 了。2、他们许多企业项目经理根本就不懂技术。中国项目经理假如不能在技术上压服下属,那么下属将与他搞鬼,越是高手越喜欢搞鬼,根本不知道作软件终极目标是从他人兜里掏钱,而在内部搞不团结。技术高手都会纠集一些对他技术上崇敬菜鸟,与管理层作对。而印度软件经理根本就不懂正在做东西,许多甚至直接就是mba,或者是领域教授(工业设计、地理教授等),而不是编码 教授。不过却能够领导大群素质良好程序员把工作做好,没有内部不团结情况。许多印度程序员加入一个企业很长时间,都不知道自己整天编代码是干什么用。给他们任务可能就是一个函数申明以及该函数要实现功效。 我们呢?3、他们编程人员流动率达成30!他们编程人员流动率(包含内部项目之间流动)高达30,能够想见他们文档水平怎样。他们产品不依赖任何一个人,谁都能够立刻辞职,产品开发还是会正常进行。而中国,是老板怕总工。技术骨干拥兵自重,抗拒管理。任何制订好计划,都有可能被技术人员推翻或者跟你消极怠工。 4、他们开发计划能够做到小时级别。假如一个印度企业项目经理没有上班,那么他下属将可能不知道作什么。他们计划通常都定到天,每个基层开发人员天天工作量就是8小时。而我们能够给出月度计划 企业就极少,而给出月度计划要么不可能实现,要么就可能被取消。开发人员 被初略给个任务,他在月初,能够慢慢琢磨是做成什么样子,然后上上网,聊聊天。到了月中和月末,就开始熬夜编码。 看到每年,从各大高校不尽牛人滚滚来,我们是不得不要召人,同时又是不抱希望。我企业现在有意以后将关键软件开发外包给印度企业,中国人?做做界面吧,中国人做界面会极尽奇技淫巧,搞得花里胡哨。btw,我企业非外企,大家不要误会我们有什么种族歧视。不过我们现在就是对自己歧视,自卑得很。中科院那么多研究院,连个能用操作系统都搞不定。北大开发一些东西,比如什么青鸟case,就是给一帮人评职称。杨芙清院士整天搞来搞去,搞出了什么东西?b大,t大人最难管理,牛得看不见人。中国程序员骂微软,追linux是全世界最狠,可是我们除了汉化linux,做了什么东西出来。cde是瑞典人写,linus是芬兰,gnome是墨西哥人写。哎,我们曾经是多么瞧不起印度人。 现在,越来越多人开始学习vc了,假如能精通vc,就象精通了九阴真经一样,能够天下无敌了。我想很多vc兴趣者都有这种追求武学至高境界心理。 我就是抱着这种心理开始学习vc了,至今已近三年了,其间经历过无数迷惑和磨难..... 可是我最终没有放弃,到如今已经有一定功力 : 以下就把我修炼中取得经验与大家分享 ,一起提升修行! 首先要搞清楚vc能干什么.很多人只是听说vc是最好开发语言,便去学习,就象大家听说辟邪剑谱厉害,便都去抢着学一样,都是很盲目标。其实语言并没有好坏之分,我在用c之前,一直觉basic 是最好用语言。现在在windows平台下编程,vb和delphi能够满足大多数应用 ,而且速度不会很慢。使用vc主要是用来开发系统软件和大型工具软件以及开发游戏。 现在比较流行操作系统主要是windows系列和unix系列。这些操作系统都是复杂多任务系统 ,在设计操作系统时候就提供了一大堆应用编程接口(api,通常是c语言函数),编程者使用c语言调用这些api便能够开发该系统下应用程序了。 这与dos时代 编程接口是不一样,那时侯函数库是由开发环境提供(如turbo c) ,不具备很好封装性和设备无关性。 每当新版windows操作系统发行,便会提供一个对应plantform sdk(软件开发包),开发者能够用sdk 编译c程序。在没有vc和vb时候,windows程序就是用sdk编出来。 vc跟这些乱七八糟东西有什么关系呢? 其实vc关键就是mfc,mfc是个c++类库,就象结构化程序设计时代c语言函数库一样 , 给程序员提供了丰富编程接口,简化了程序设计。 而mfc就是直接把windowsc语言编程接口api函数用c++类封装而成! 这么既实现了面向对象编程思想,又直接使用了windows原始编程接口,代码效率是 最高!当然很多人不适应c++编程方法,他们依然使用c语言编写winmain()和窗口 过程,vc一样为他们提供了很大便利,因为vc能够很方便管理资源和代码! 明白了以上关系,学习vc步骤应该也明确了:首先要学习c语言(假如你还不会话)! 这是非常主要。假如c语言不懂话,一切都无从谈起。懂了c语言,你就能够研究 windows系统工作原理和windows应用程序工作原理了。这也非常主要。vc只能用来 开发windows系列操作系统下应用程序,假如不懂windows下程序工作原理就去写 windows 程序,那也是比较盲目标。主要是体会一下windows多任务和消息驱动机制。篇三:程序员学习路线 程序员学习路线 程序员成长经历往往很相同,大部分人走过了最前面相同一段路,而有人则走得更远。总结自己这些年来历程,这可能能让年轻程序员少走一些弯路,成长得更加快;或许愈加好一些,能让大家从中得到一些启发,早日进入优异程序员阶段,实现梦想,释放激情。 第一阶段,最初是在学校里学习计算机基础知识,学习经典程序设计语言,编写测试用小程序。这个过程能够说是对计算机和程序设计入门阶段。这个阶段主要是培养了自己对计算机软件兴趣,打下了良好计算机基础知识。 第二阶段,而后参加工作,从事计算机软件开发工作。按照工作要求,一边学习,一边编程,终于能够让自己程序投入运行了。在这个阶段我突然感觉到了自己价值,感觉到了软件神奇,而且自己编写软件成为了实用产品。这个阶段实现了学习到生产过渡。 第三阶段,伴随工作增加,开始编写各种程序,开发各种系统,这时候忙于编程知识积累和应用。应该说在这个阶段自我感觉很充实,好像有做不完事,程序设计水平还处于语言级阶段。 第四阶段,伴随积累了一定编程技巧之后,我开始想这么问题:我是不是最好程序员?我能否编写出最好程序?这个过程是一个反思阶段。我对自己要求是:不但要会编程序,而且要编好程序,从关注程序数量开始转向关注程序质量。 第五阶段,开始在提升自己软件开发水平上做文章。经过各种系统开发,尤其是大型系统开发,发觉了软件中有许多功效是重复。所以,有一段时间把精力花在编制各种库函数上,经过不一样系统调用相同函数,方便降低重复开发,实现功效共享。当初比较得意是库函数不是我一个人在调用,而是整个项目小组都在调用,甚至不一样系统也能调用,从而体会到编写库函数尤其有价值。这个阶段标志是库函数,程序员水平上升到库函数那一级。 第六阶段,到了库函数那一级后,很快就发觉,单单实现程序函数级调用是远远不够。当你做了很多项目,包含大项目和小项目,尤其是做过跨行业项目之后,你就会把库函数共享思想用于项目开发。你就会想这么一个问题:为何不一样项目不能有相同架构?假如有相同架构,那么开发就有了相正确标准,我们就有可能经过配置方法实现相同架构系统。于是我提出了iasg(交互式软件自动生成器)思想,并在c语言和其余一些语言中实现了iasg实例。记得最快一次是编写一个系统(公安部门自行车信息管理系统,主要用于丢失自行车信息登记)只用了3个小时(从需求到安装盘)。这个事情对我影响很大。我在这个阶段上升了一个很大台阶,从程序上升到软件。关键思想就从库函数 共享上升到软件共享。详细过程是建立一个通用系统架构,架构中有许多共同功效,比如,参数设置、用户权限管理、库表管理等。另外还提供信息建立查询开发模板,经过配置和特殊功效编制就能很快完成了一个系统开发。现在想起来iasg距离我已经有了。 第七阶段,到了iasg阶段后,我发觉不论技术怎样提升,都无法改变开发落后于需求现实。通俗地说就是:程序员水平再高,仅仅是拉车水平高,不过,应该在什么路上拉车程序员并不知道。假如这条路是一条光明路,则程序员越拉越有劲,有前途;假如这是一条死胡同,则程序员白费工夫;假如这是一条漫长路,前途不明,则程序员可能要累倒在路上。现实中程序员水平低、收入低;系统需求不明确,系统开发周期一拖再拖;系统重复开发多,信息甚至不能在一个企业内实现共享,更不用说在企业之间、行业之间实现共享了;各种企业级软件erp、crm、bi层出不穷,也没有哪个能满足中国市场;各种新技术、新概念不停出现,却没有哪种技术或概念能真正发挥其内在价值,最终还是处于被学习、被利用阶段。 这个过程是程序员脱离技术本身,开始思索、开始求源阶段。在这个阶段程序员思想有了质飞跃。以前光拉车不看路,现在要抬头看路了。 第八阶段,有了抬头看路想法,于是我踏上寻路征程。我首先弄明白了我们脚下路是什么样,为何这条路那么不平坦、不宽广。从软件生命周期来看,软件主要由用户需求发起,用户需求是软件生存根本理由。因为企业、用户不一样而造成不一样需求——大量无序需求,这种需求驱动方式必定造成了我前面介绍各种现象。这个阶段是寻找根源阶段。只要我们找到了根源,就能够有机会处理问题。这个过程相对来说比较困难,这不但需要编程技术,还需要很多方面知识。若要了解这个根源,就迫使你学习和积累更多程序以外知识。 第九阶段,当我找到软件是需求驱动方式之后,就开始考虑什么是用户需求?用户为何要提出这些需求?我们能够更深入地分析用户需求产生根源,我们能否让无序需求变成有序需求呢?当然针对这些问题我们都进行了深入分析,其过程也极难在这里展开说明。我只能说,最终结论是用户需求起源于企业经营。很多人思索问题还是就需求而论,并没有站在企业经营角度去考虑问题。千万不要小看这个改变,这个改变最终会产生一个理论。于是我们尽可能地站在企业经营角度对待企业经营方式、企业管理、企业信息化等。不过,我们最终要处理企业经营这个概念问题,假如我们都不能明确企业经营这个概念,或者我们不能科学地定义企业经营这个概念,那一切基于企业经营各种具表现象就如同无本之源一样无序泛滥。就像erp、crm等所谓企业信息化产品一样,因为没有一个企业经营定义支撑,只能就企业经营某个方面提出处理方案。这些产品不缺乏需求支持,缺乏是最基本企业经营定义支持。而这个概念就是eom。 eom是从定义企业经营角度入手,把我们今后要开展各种研究和开发活动都放在一个理论可支持基础上。只有定义了企业经营之后,我们才有可能分析我们需要什么软件,我们软件采取什么技术才能实现企业经营目标。而程序 员则经过eom了解到企业经营需要什么样软件,这个软件有多大价值,这个软件采取什么技术才能实现,自己要提升哪方面技术水平才能取得更大价值。 这个过程就是eom阶段,经过eom了解软件根源和有价值软件所在,进而选择自己未来方向。 第十阶段,当我建立了eom之后,便开始了eom实现阶段。这个实现阶段分为两部分,经过这两部分结合,我们就能够逐步看到eom软件产品实例,看到eom真正价值。 第一部分是eom业务实现。当我们明确了eom之后,就能够依照eom来重新规划企业信息化整体架构,能够细分这个架构中各种平台产品、通用产品、专业产品,能够细分出这个架构实现各种技术架构和实现伎俩,能够细分出这个架构中各种标准功效和标准信息。经过这么分析,我们程序员就能够依照自己专长和兴趣以及价值判断来选择其中软件产品和技术。在明确目标和方向情形下,经过自己努力,不停提升自己各种技能水平,让自己价值和企业经营价值有机地结合在一起,从而实现自己理想。 第二部分是eom技术实现。有了eom并依照eom理论构建企业信息化架构后,我们就必须从技术上实现这个架构,不然这个架构将永远停留在理论阶段,不具备可行性。我们能够采取现有各种技术来实现这个架构,不过,现有技术都是基于原有业务需求而建立和发展,它适适用于原来应用对象。现在eom是一个全新企业经营理念,所以,我们必须建立一个新软件架构来适应和最好地实现这个理念。幸运是,我们找到了称作nss(new software structure)软件新架构技术,该技术表现了适应企业经营发展方向,将软件合理分层,用最新软件技术按照架构方式规范软件开发模式,能够实现最大范围功效共享,实现软件可扩展性。 这个阶段能够让程序员在软件产品业务设计或软件产品技术实现上等多个方面进行深入钻研,而且成为领域教授。这和我们平时包括简单需求分析和简单技术实现有着本质区分。 从我程序员经历能够看出,程序员成长是无止境,只要有放矢地努力,就会一步步登高向上。我认为程序员成长经历主要有三大阶段,即通用技术阶段、市场阶段、专业技术阶段。 1)通用技术阶段是程序员专注编程水平提升阶段,也就是说“只拉车不看路”阶段。这个程序员能做事情那个程序员也能做,程序员代替性很强,程序员市场价值相对较低,程序员只关注编程技术本身。 2)市场阶段是程序员跳离技术层面开始考虑为何要开发这个软件,这个软件有什么价值阶段,经过求软件之源来重新认知自己方向。 3)专用技术阶段是程序员认知了这个软件和技术有很大市场价值,全身 心投入到这个领域中去,并在这个领域成为教授阶段。程序员不但要懂技术,更要知道客户业务,不一样程序员技术和业务变得没有可比性,这种稀缺性造就了程序员极大价值。 这三个阶段其实就是三个过程,每一个过程都是一次飞跃。程序员知道自己能够飞多高,依靠是程序员学习和眼界;而程序员能飞到哪里,那就要靠程序员本身努力。一个程序员能够没有能力,不过不能够没有眼界。 (ps:本文章由北大青鸟广安门校区搜集自互联网)篇四:java程序员学习方法2 java程序员学习方法(二) 公布时间:-09-26 编辑:牛耳教育—candy 点击:74 1.6 加强英文阅读能力 对学习编程来说,不要求英语,但不能一点不会,。最起码像javaapi文档(参考文件[4.4])这些东西还是要能看懂,连猜带懵都能够;旁边再开启一个金山词霸。看多了就会越来越熟练。在学java同时学习英文,一箭双雕多好。另外好多软件需要到英文网站下载,你要能够找到它们,这些是最基本要求。英语好对你学习有很大帮助。口语好话更有机会进入管理层,进而能够成为剥削程序员周扒皮。 1.7 万不得已才请教他人 笔者在chinaitlab网校在线辅导系统中处理学生问题时发觉,大部分问题学生稍做思索就能够处理。请教他人之前,你应该先回答以下几个问题。 你是否在谷歌中搜索了问题处理方法? 你是否查看了javaapi文档? 你是否查找过相关书籍? 你是否写代码测试过? 假如回答都是是话,而且还没有找到处理方法,再问他人不迟。要知道独立思索能力对你很主要。要知道程序员时间是很宝贵。 1.8 多读好书 书中自有颜如玉。比尔?盖茨是一个饱读群书人。即使没有读完大学,但九岁时候比尔?盖茨就已经读完了全部百科全书,所以他精通天文、历史、地理等等各类学科,能够说比尔?盖茨不不过当今世界上金钱首富,而且也能够称得上是知识巨富。 笔者在给学生上课时候经常会给他们推荐书籍,到日后学生实在忍无可忍开始埋怨,天呐,这么多书到什么时候才能看完了,学软件开发,感觉上了贼船。这时候,我回答通常是,别着急,什么时候带你们去看看我书房,到现在每个月花在技术书籍上钱400元,这在软件开发人员之中还只能够算是中等,学生当场晕倒。(注:这一部分学生是刚学软件开发) 1.9 使用适宜工具 工欲善其事必先利其器。软件开发包含各种各样活动,需求搜集分析、建立用例模型、建立分析设计模型、编程实现、调试程序、自动化测试、连续集成等等,没有工具帮忙能够说是寸步难行。工具能够提升开发效率,使软件质量更高bug更少。组合称手武器。到飞花摘叶皆可伤人境界就很高了,无招胜有招,手中无剑心中有剑这么境界几乎不可企及。 两千多年儒家思想孔孟之道,中庸思想透入骨髓,既不冒进也不保守并非中庸之道,而是找寻学习软件开发正确路线与规律。 从软件开发人员生涯规划来讲,我们能够大致分为三个阶段,软件工程师→软件设计师 →架构设计师或项目管理师。不想当元帅士兵不是好士兵,不想当架构设计师或项目管理师程序员也不是好程序员。我们应该努力往上走。篇五:程序员学习三要素 16 程序员学习能力提升三要素 作者: baiyuzhong分类:管理 阅读:9,857 次添加评论 文/尹华山 it技术发展日新月异,新技术层出不穷,具备良好学习能力,能及时获取新知识、随时补充和丰富自己,已成为程序员职业发展关键竞争力。本文中,作者结合多年学习经验总结出了提升程序员学习能力三个关键点。 众所周知,现在是一个知识爆炸时代,知识更新非常快。据测算,一个大学毕业生所学到知识,在毕业之后2年内,有效不过剩下5%。对于软件行业而言,这种形势更为显著,我们赖以立足,不在于我们现在掌握了多少知识,而是我们有多强学习能力。 学习人人都会,但不一样人学习效果却千差万别。一个善于学习人,首先应该是一个善于
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传

当前位置:首页 > 包罗万象 > 大杂烩

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2026 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服