荔园在线

荔园之美,在春之萌芽,在夏之绽放,在秋之收获,在冬之沉淀

[回到开始] [上一篇][下一篇]


发信人: Version (Who makes history and why), 信区: Program
标  题: 如何成为一名优秀的程序员?  (二)
发信站: 荔园晨风BBS站 (Thu Apr 10 22:09:18 2003), 站内信件


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

 我每天都要收到很多的朋友来信。有不少的网友经常问我:面对众多的开发工具
/语言,
我该选择哪一个?怎样才能学好一门语言?怎样才能算是一个真正的程序员?下面
我想
就这几个问题谈些浅见。
我学电脑全是靠自学的,没有人教,也没有人问。因此走了不少弯路。当然现在看
来,
那些走过的弯路也算是一种积累。我所使用的开发工具是这样一个经历:
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程序
员的工
资普遍高于其他程序员就是一个证明。
那么,怎样成为一个程序高手呢?下面这几点建议对你可能有些帮助:
  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%时间开发和测试。 (WINER)
  要成为编程高手必须准备过“除了工作就是工作的日子"而换得“想怎云5c过就
怎么过的
日子"。
  程序也是一种艺术品,写不出时切勿强求!(陈大年)
  为了保持你和你的程序一样健壮,请适当锻炼身体。(黄凯)
 同一个程序,IBM要做一年,我却只要做三天! : ) 同一个程序,IBM的可以支撑一年
,我的可以
支撑三天.... :( (邓波)
中国的程序员很出色,包括我自己......(一批人倒下)!

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

学习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不能
用于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所说的“他们
要盗版的话,我希 望他们盗我们的”!永远只能是“拿来”是没有生命 力的,不
知道我们能否有
一天,中国人也可以豪气地 说“他们要用的话,我们希望他们用我们的”!你看
,OFFICE中的
确使用了许许多多的控件,但是可 以肯定的是,这些控件绝大多数都是M$和
OFFICE程序员自己
开发的!我说的是有一定范围,一个整体的研 究。OFFICE的程序员可能不太了解
许多OS核
心的东西, 但是作为MICROSOFT这个整体,他就掌握了所有的核心, 和细节。中
国又怎样呢?
你个人可以不用深究太多, 但作为中国这个整体,他又掌握了多少呢?我不奢望
 所有中国的程序
员都能了解所有的细节,但我希望能 够有一定数量的人能够深究各种核心和细节
,这样, 作为中
国这个整体,才可能有创造力。 邓小平的这句话 -“不管黑猫、白猫,只要抓到
老鼠 的猫就是好
猫。”在当时的情况下,的确解放了人们 的思想。但是事物总是在运动当中的,
永远地认为这
句话是真理,那么其实又是另一种的思想禁锢!!

OFFICE程序员自己
开发的!我说的是有一定范围,一个整体的研 究。OFFICE的程序员可能不太了解
许多OS核
心的东西, 但是作为MICROSOFT这个整体,他就掌握了所有的核心, 和细节。中
国又怎样呢?
你个人可以不用深究太多, 但作为中国这个整体,他又掌握了多少呢?我不奢望
 所有中国的程序
员都能了解所有的细节,但我希望能 够有一定数量的人能够深究各种核心和细节
,这样, 作为中
国这个整体,才可能有创造力。 邓小平的这句话 -“不管黑猫、白猫,只要抓到
老鼠 的猫就是好
猫。”在当时的情况下,的确解放了人们 的思想。但是事物总是在运动当中的,
永远地认为这
句话是真理,那么其实又是另一种的思想禁锢!!



--
                      *
          *                                  *
                          *             *
                      no more to say
                  ★     just wish you   ★
                            good luck

※ 来源:·荔园晨风BBS站 bbs.szu.edu.cn·[FROM: 192.168.1.50]


[回到开始] [上一篇][下一篇]

荔园在线首页 友情链接:深圳大学 深大招生 荔园晨风BBS S-Term软件 网络书店