您的位置:首页 > 职场人生

如何成为一名优秀的程序员(二)

2005-02-07 22:00 681 查看
....我每天都要收到很多的朋友来信。有不少的网友经常问我:面对众多的开发工具/语言,我该选择哪一个?怎样才能学好一门语言?怎样才能算是一个真正的程序员?下面我想就这几个问题谈些浅见$我学电脑全是靠自学的,没有人教,也没有人问。因此走了不少弯路。当然现在看来,那些走过的弯路也算是一种积累。我所使用的开发工具是这样一个经历:
GWBASIC->FOXBASE->TC->VFP->VB->PB->DELPHI->C/C++/ASM。总的说来,各种开发工具各有秋千,应根据具体应用来采用不同的工具。例如写MIS用PB/VB就很好,界面设计用VB/Delphi很不错,写系统软件,用C是最好的。对于初学者来说,先用一种可视化强的工具(如VFP/VB/DELPHI)比较好,容易掌握,上手也快。但如果你想做一名真正的然b序员,我建议你还是很有必要去精通C,甚至汇?有人说,C/C++太难学了,开发效率也不高。我先不说C/C++优越于其他语言的地方(这在很多的资料中都有介绍),就单从一个很功利的角度来说说。Delphi/ VB对于一般人来说学上几个月就可以上手了。易学的东西学的人肯定多。而对于C来说,由于它难掌握,学的人不火,但一旦你真正掌握了,你的竞争实力就比其他人强。现实中,C程序员的工资普遍高于其他程序员就是一个证明0
那么,怎样成为一个程序高手呢?下面这几点建议对你可能有些帮助:
1. 遇到问题时从所有你能想到的方面考虑去试图解决;
2. 一定多动手,学一个专题(如网络/多媒体)后写一个软件检验自己;
3. 有几本关于内幕核心权威书,最好是老外写的;<
4. 用好联机文档(如MSDN)查询函数和资料,利用网络资訢
5. 掌握好的跟踪调试技巧,多看一些高手的程序,从本质上理解;
....各种先进的开发工具,强大的辅助系统,使得现在的开发也越来越简单。但是,我们的工作倒底有多少创造性可言呢?很大程度上,我们的开发成了一种重复劳动。很多人感叹PB的数据窗口强大,但有多少人去想过他的机制呢?很多人在为MFC的使用伤透脑筋,但有多少人去读过MFC的源吗呢?我认为对于一个程序员来说,不要为这些可视化的东西所迷惑,要去了解它背后隐藏的内部机制。hoho,rick大人果然...佩服中: : 我自学了c++的语法,本来以为学完c++再学VC是水道渠成的,可是学了这么久却一点感觉: 学了语法离学完C++还差得很远. 掌握C++的意义已经超出了语言本身----最重要的是面向: 对象的思想. : 从开始学习到能够真正理解面向对象的思想需要一个长期的过程, 不是两三个月可以速成: 的. 在开始使用MFC之前, 你最好还是按照示例写一些简单的小程序(可以用VC来写, 在: AppWizard里选console application), 由浅入深的了解什么是面向对象.: C++的教材, 如果你能把 Thinking in C++ 看完就行了. 中译版是 C++编程思想.: : 都没有。不知道是现在的书写得太臭还是我比较迟钝,总之打不到方向。比如说,: : 每本书都大力渲染MFC的好处,我也知道它好,可是找不到有书把MFC的基本东西讲清楚: : 的,什么文档与视啦,从CObject派生啦,乱七八糟的宏啦。我只晓得它们功能很: : 强大,可是不会用。请问各位高手:学vc是不是应该从MFC入手?如果是,是不是应该: : 从理解文档与视这些基本概念作起,或者走其他的道路更有效?还有学vc的基本方法是什: : 么?应该避免走哪些弯路?: : 请各位vc过来人多多帮助我,另外,如果有vc方面好的教材,麻烦推荐一下:)学了语法离学完C++还差得很远. 掌握C++的意义已经超出了语言本身----最重要的是面向对象的思想.从开始学习到能够真正理解面向对象的思想需要一个长期的过程, 不是两三个月可以速成的. 在开始使用MFC之前, 你最好还是按照示例写一些简单的小程序(可以用VC来写, 在AppWizard里选console application), 由浅入深的了解什么是面向对象.C++的教材, 如果你能把 Thinking in C++ 看完就行了. 中译版是 C++编程思想.关于VC的难是大家公认了的,但是回头想一下我们刚刚接触计算机时,感觉的也是难,什么都不懂,用多了自然就熟了。尽管我的VC也是刚学不久 的,但是还是想说几句自己的心得: 我个人觉得VC要真正的学好,不做个实际的VC项目是不行的,好多东西只有 在实际编程中,调试中才会遇到,有时一个非常小的问题会好久不能解决,但是经过这样的经历后,这些东西应该是已经学到手了,算是自己的了,这就是人们 常说的经验吧。所以用VC做实际项目是学习VC的一条捷径。 要是在学习VC是又一个VC高手能够经常指点一下应该是容易很快入手的,可以达到事半功倍的效果。 学习VC,VC主要使用在与系统相对比较地层的地方以及为了和以前的C书写的程序兼容,VC在数据库和界面设计以及易用性等不如DELPHI、VB等,所以我觉得在 开始学习VC时,可以把主要的精力用在基于对话框的编程上面,尽量多问,在不熟悉VC的内部实现时不要轻易修改Wizard自己生成的东西,了解了VC的框架后学习后 续的东西就会很容易的。 关于参考书,我自己认为最好,最清楚也是最全面的莫过于MSDN,在VC的学习中 甚至于以后的编程中,都要养成经常查看MSDN的习惯,最初的时候可能会有一点不习惯的,个人认为比较好的书有机械工业出版社出版两本VC开发指南(全名记不清了), 希望的一本MFC类库翔解,另外有一本叫做VC++Bible(VC宝典)。VC的东西太多了,以后大家可以多多的交流交流。希望别人被卧不至于误导。

....我想首先是要有兴趣,程序设计有时是很枯燥的。其次是由要简入难学习编程,我推荐初学者以Pascal作为所学的第一门语言。在有一定设计经验之后可以转向学习C/C++。C/C++我觉得是一个学习编程的人必学的,因为目前比较流行的程序设计语言很多是在C/C++上发展出来的。还有一点很重要的是要上网,只有这样你才有可能获得最新的技术资料。对了,如果是自学的话最好不要看国内的教程,这些教程都喜欢用深奥的数学公式做例题,不适合初学者使用。

....第一次结识电脑时,我还是个中学生。我还记得,当时我用的是一台IBM公司生产的286PC机,好几万块钱呢。这以后,我很幸运,有很多机会接触电脑,从386、486到现在的奔腾机。接触电脑越来越多,我也学到了不少应用软件、游戏、硬件以及互联网知识。回想接触电脑的八个年头,我经历了四个阶段:
....第一阶段:初学期。因为有兴趣,所以学电脑的劲头十足。记得老师害怕我将电脑弄坏,他不在的时候,就会用钥匙将电脑锁上。后来,因为我的电脑学习成绩突飞猛进,老师很快就为我配了把钥匙,让我随意使用电脑,我非常感谢那位老师。直到现在,那把钥匙还挂在我的钥匙圈上,虽然再也用不上了,但我就是舍不得丢掉。看到它,便会回忆起年少时在宿舍走廊灯下背五笔字型码的情形。 没多久,DOS、WPS等我用得得心应手。因为我指法熟练,到现在还被人们戏称为“键上飞”呢。

....第二阶段:迷恋期。也许是年轻人特有的好玩心理,工作后不久,我便迷恋上了游戏,那段时间屏幕上充斥着刀光剑影、飞机大炮。记得好几次星期五下班后玩游戏,玩着玩着就过了个通宵,我仍钢铁战士般的不困、不饿,只是两只眼睛都红肿流泪了。回家后,爸妈对我是又恨又疼。正是这段时间,我的视力由1.5降到了0.8,向着戴眼镜的目标奋进。

....第三阶段:徘徊期。面对计算机,常觉得眼睛涨痛、头脑眩晕,手臂也是酸痛难忍。当我不得不戴上眼镜时,我对自己说:“与游戏分手吧”,何况在游戏里,我早已成为宇宙总管,早已富甲天下、仗剑走天涯了。用自己的视力和流逝的时光换取一时的快感,满足自己的虚荣,成全贪玩的心理,这值得吗?我后悔了。从那以后,尽管诱人的游戏层出不穷,但我都未曾认真玩过,我走出了迷恋游戏的误区

....第四阶段:提高期。如今面对身边那些最新配置的计算机时,我感到自己落后了。正所谓“忧劳可以兴国,逸欲可以亡身”,我应该做点什么!看着同事们成天玩扑克牌,连电脑的基本操作也不会,我想,让我来掀起一波学习电脑的热潮吧。单位负责人看过我写的建议后,决定立即实施。于是,第一期电脑培训班开学了,我备课、讲课、辅导、答疑,忙得不亦乐乎。尽管很累,但每当听到同事们称呼我“林老师”时,我便有了使不完的劲。如今,培训暂告一段落,而同事们的学习热情高涨,正催促我搞第二期培训呢。看到大家的认真劲,我感到,我终于做了有益于大家的工作,这感觉要比游戏中那个“意气风发”的我强多了。真想告诉热爱计算机的朋友们,不要沉溺于追寻更高的配置、新潮的游戏,真正热爱电脑,就应该不断学习新的知识,迎接信息时代的到来。

....世纪之末的最后一个暑假,大家该干什么?我想学习编程是最好的。记得歪歪在大学里的全部暑假都在做一件事情,参加全国大学生数学建模比赛培训。在火炉重庆40?的高温下,编着复杂的算法程序,当时真的很难受。可现在想想,能有今天多亏了当时魔鬼教练给的魔鬼习题。歪歪已经不编程了,但那时的很多思想方法使我受益匪浅。其实,对业余人士来说编程是一个健脑操。当然也可以为你带来不少的朋友,唯一的遗憾是编程的MM太少了,呵呵。为了鼓励大家,歪歪把自己的VB宝库给大家端上来了。Find All( http://www.tanfo.com/~jackyyin/download/findall23.zip)这是 一个 Add-in(VB插件)。它縣以在整个工程中查找特定字符串,然后将查找结果全部在列表中显示出来。你可以十分方便地找到任何文件中的查找结果(类似于 VC、Ultra Edit 等中的 Find in Fils 功能)。资源文件编辑器( http://www.nease.net/~jackyyin/download/ResEditI.EXE)这是 微软的一个 Add-in,可以在 VB5 中直接编辑资源文件。 VB6已经自带了。CodeLib 2.x2(http://www.vbthunder.com/)这个VB插件是歪歪的至爱,豪华的界面用来管理源程序连歪歪都认为有点奢侈了。怎么样,让我们一起用编程来迎接下个世纪吧!

....一个赶进度的程序员一天都吃的什么? 早餐:康师傅牛肉面,中餐:统一100,晚餐:面霸120,夜宵:康师傅干脆面。 (LiLi)(
编程秘诀:胆大!心细!死缠烂打......要像对姑娘一样对它! (务实)
....快速开发Windows程序的方法=20%时间设计界面+30%时间在网上找控件+20%时间看书+30%时间开发和测试。 (WINER0
要成为编程高手必须准备过“除了工作就是工作的日子"而换得“想怎云5c过就怎么过的日子
....程序也是一种艺术品,写不出时切勿强求!(陈大年)
....为了保持你和你的程序一样健壮,请适当锻炼身体。(黄凯
....同一个程序,IBM要做一年,我却只要做三天! : ) 同一个程序,IBM的可以支撑一年,我的可以支撑三天.... :( (邓波)(
....中国的程序员很出色,包括我自己......(一批人倒下)!D

....重要的是程序的算法和数据结构. 他们是程序的灵魂. 而语言是一种工具,所谓君子善假于物也 好的工具可以加快开发进程. 高级的语言可以屏蔽细节,可以把时间用在 算法的考虑上. 当然,特殊的程序功能要求特殊的语言, 另当别论,但是语言的学习主要在多用的. 不难理解.而算法和数据结构包含了很多的 基础理论在里面,不容易掌握 . 比如,许多的计算机专家可能不是编程高手.也不话时间去学 DELPHI , VC ,VB. 就用C, PASCAL ,或, PDL 来描述算法. 还有,同样对DELPHI精通的人.编礹程序效率 却大有不同,是因为其算法不同. 比如一个加密解密程序,技术含量几乎全在与 其算法上. h不同的逼近方程会在图形软件中带来不同的效果. 而同一类型的软件公司产品竞争主要靠算法优秀与否. 可是还有的人片面追求新的高级语言.忽视基础研究. 语言的发展趋势是越快,越傻瓜,越高级,月智能. 而相对稳定的是算法.,

....学习SDK编程,纯API。哪种编译器都行,如果不嫌麻烦的话,工程都不用建。 SDK最直接,能帮你明白回调的真正意义。如对C++没有深刻理解,用VC++就是资源浪费,光用VC自带的类库而不扩展没什么意义,层次偏低。 要有对编程抱有狂热的心情,能有忍受编程时寂寞的能力,想象力丰富,能想出 一些古怪的想法, 在竞争如此激烈的今天,应用软件的开发真是越来越蓟7d难了。也许当你的大脑中 刚刚有一个构思的雏形时,别人已经把完整的产品放在你的面前了。不知现在的 大方向应该如何把握,真的是很苦恼?

....近和一个朋友聊天,他说搞计算机编程的人都是在吃青春饭。编程 语言和技术发展的很迅速,过两三年就会出现许多新东西,当一个程 序员不再年轻时也就会丢掉他的饭碗。我觉得他说的好像有道理但也 好像未必,可又找不到反驳他的理由,想听听各位有什么高见。

....语言没有好坏之分 有的语言写出的程序,结构严谨,执行速度快,错误率低,体积小 但是,牺牲的就是时间,开发周期太长,在现今的这个讲求效率的社会中,显然 有点儿不合时宜 而有的语言虽然执行速度较慢,体积庞大,错误率高,结构也不严谨 但是其开发周期短,很受大部份用户的青睐 而BC 和 VC 基本上是同一种东西,只不过VC 接近用户,而BC 面向系统底层 其他的大部份功能都是一样的 无所谓好坏,总之一句话,学好了,用什么都一样!
1 看C++语法的书,知道类的概念,
2 翻vc入门教程,熟悉开发环境和常用界面mfc类
3 写小游戏,不懂得地方参照例子(msdn),目标:培养必要的技巧性.
4 写通信类小程序,到网上找这方面例子,目标:熟悉底层特蠨
5 成为vc高手.
....VB只能编写一些简单的东西,VC++就像《倚天屠龙记》里的倚天剑,是个宝物啊 但是学VC++很难。 在VC++高手是稀有动物耶!!我的一点认为: 现在最好的网络服务器编程语言有php,asp,还有perl. 相比而言:php和asp简单,易学, 而perl稍难.php和perl兼容性好.asp不能h用于unix,liniux平台. php与 c 语言相似. 详细请看sohu网站的网络编程. 其实目前有一个比较好的,就是Jsp,不知冷面兄为何不提? 我很喜欢编程, 但起步很晚, 望各位大侠多指点, 或许, 小弟来日名满江湖之日, 尚能娓叙尊师之一二,

....我是电信专业的高程,下学期我大四,父母叫我考研,我也很想读研,但不想考 研,因为要花大半年时间来应付一次考试真是太辛苦太枯噪,我三天不上机就觉 得手痒,怎么坐得下来大做考研题呢?。但我还是要复习备考。 另一方面我还必须找一份工作,以备考研落第。我虽然是学电信的,但平时 比较喜欢玩电脑,也刚过了高程,做过几个完整的VC软件(我说的完整是指经In stallShield发布的、包括HTMLHelp帮助库、以及打印出来的用户指南),也会5 1系列单片机制作。所以我比较想应聘程序员,但楼下有n篇前辈们哀叹程序员的 帖子,似乎程序员既辛苦又不来钱,使我对程序员望而却步了,听周围的人都说 程序员待遇不错,也算是一种令人□慕向望的职业。那么我应该应聘什么样的单 位和职位呢?应聘哪些城市较能“服水土”?上海、广州、琛圳、北京、厦门。。。?(我是武汉的)。我现在真不知道大四我该着重搞些什幺?请各路前辈指 点迷津!!!!!!! 怎么才能轻轻松松学编然b? 朋友我向你们求教! 不注重成果,只追求在学习,要不然的话,轻松很难,不是境界就是梦想。

....其实编程学的是结构话思想(“人生”其实还是一个戏言,因为,中国的程序员都还很年轻。我们从疯狂的游戏迷进化(退化?)至沉湎于ActiveX、HTML、OOP、ASP、SQL而不能自拔。我们已经习惯了这么一种生活模式:学习+开发+快餐,我们总以为突破这种生活模式的人不是纯粹的程序员,难道是传说中的高级程序员?哈哈!人们形容程序员用头脑不简单,四肢不发达。 我们必须在最短的时间内学,在最短的时间内用,在最短的时间内开发出另用户满意的产品。这难道不是一种自我挑战吗?当我们写出如诗般优美的程序时,我们有一万个理由为自己而自豪。

....中国从来就不缺乏技术人才,而是缺乏管理人才。中国有成千上万的Bill式的程 序员,但中国没有一个Gates式的管理者。我们的企业里常常看到有不少的高级人 才,但是常常是人才越多,力量力,那样,中国IT业赶超世界先 进水平才不是空话 主要的是编程思想,和扎实的编程的基本功, C++ ,面向对象的编程思想一定要吃透, 然后学习WINDOWS下的编程,将WINDOWS的消息机制弄清楚 最重要的是要多编程来练习 ,

....任何人说的任何话都是在一定的环境下产生作用的。 诚然,邓小平这句话在以前的时期确实起到很大的启 迪作用。但是邓小平也不是圣人,他的话也不可能放 置四海而皆准。我发现现在的人却把这句话当做了口 头禅,护身符,动不动就拿这句话来“压”人。我也 说过了,我不怕权威,不对就是不对,不管是谁说。 我是一个十足的“怀疑论”者。别人作出来的东西, 说出来的话,我绝不会盲目地跟随。我首先是怀疑它 的真确性,然后才看看它如何反驳我所举出的事例。 我所说的深究下去,当然是有程度的,不然的话,为 了研究“hello world”这样的小程序,也可能涉及到 生命的起源了 :P 我不反对使用别人的东西,我提倡的是象鲁讯所说的 “拿来主义”。但是这个“拿来”有许多人就不懂了。 只会拿来使用,不会拿来分析。“拿来主义”的精髓 就是“取之精华,去之糟粕”。不分析能行吗?不了 解其内部原理,内部结构,那么永远只能是使用别人 的东西。我认为既然“拿来”了,就要懂得从别人东 西中创造出自己的东西,这才是真正的“拿来”。我 希望“拿来”只是暂时,我更希望的是给人“拿去”。 这象不象Bill gates所说的“他们h要盗版的话,我希 望他们盗我们的”!永远只能是“拿来”是没有生命 力的,不知道我们能否有一天,中国人也可以豪气地 说“他们要用的话,我们希望他们用我们的”!你看,OFFICE中的确使用了许许多多的控件,但是可 以肯定的是,这些控件绝大多数都是M$和OFFICE程序员自己开发的!我说的是有一定范围,一个整体的研 究。OFFICE的程序员可能不太了解许多OS核心的东西, 但是作为MICROSOFT这个整体,他就掌握了所有的核心, 和细节。中国又怎样呢?你个人可以不用深究太多, 但作为中国这个整体,他又掌握了多少呢?我不奢望 所有中国的程序员都能了解所有的细节,但我希望能 够有一定数量的人能够深究各种核心和细节,这样, 作为中国这个整体,才可能有创造力。 邓小平的这句话 -“不管黑猫、白猫,只要抓到老鼠 的猫就是好猫。”在当时的情况下,的确解放了人们 的思想。但是事物总是在运动当中的,永远地认为这 句话是真理,那么其实又是另一种的思想禁锢!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: