荔园在线

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

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


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



本人18岁,是一个菜鸟级编程爱好者。当时看中C语言速度快、功能强大等特点,
在只
有很少编程经验的情况下(高一在学校学过QBASIC),开始学习C语言。到现在,
正式
学习C语言(以及VC)合计只有一、二个月时间。感觉DOS下,C++过程式编程并
不是
很难(当然只学了很基础的东西);转到面向对象方法时,语言(语法)难度也还
可以
接受;但又转到Windows编程时(显然基础不牢),却感到难度倍增,几乎所有需
要手工
添加的代码都觉得难以理解。虽然陆续回头看了几遍相关语法,以及一些MFC编程
相关
书籍,感觉情况没有明显好转,到此才算真正认识到VC的难学。
恳请诸位高手帮助:面临此情况,我该怎么办?如认为可以继续学习,希望能够提

VC相关内容的学习经验──我该从何处下手?如认为应该放弃VC,重学一门相对简
单的
语言(如VB,DELPHI),请具体谈谈你的看法(本人痕7b在的确有此想法)。在此先
行告谢
了!注:本人今年考大学,计算机专业。当然,现在我想自学。
老兄你学得好快,初学并自学 C 只用“一、二个月时间”,现学VC当然困难啦。
就大学
生(大部分)自学VC也有难度。但不一定要放弃。买一本关于WINDOWS编程再加上

VC入门(最好厚一点)一一步、一口一个牙印的啃下去,会有收获的。把在线帮助
装上,
只要不懂就查(当然英文要好),我觉得在线帮助比任何书都要好。MFC编程难在
它的
封装性上,但经常泡也能熟起来。我就是这么过来的。无论如何,开头总是特别难
的,
VC更是如此。坚持吧,你能成的。

找一个题目,如一个典型的数据库类应用程序,千方百计用VC完成。之后你就会对
VC的
工作原理了然于胸。记住,过程会很艰难。我有一个数据库程序,用VC6编写,如
果你
感兴趣可以送给你参考

我和你有相同的感受,当然是以前。我原来在DOS下就用BC++的,后来转入
windows□
'7b序设计时也花了不少的气力。我建议你先将C++语言本身吃透,当然不光是语法
,同
时也要在语义上下点功夫,特别是多态性和继承要多下苦功。你可以在VC的控制台
应用
中试验。然后学习一下windows本身的程序设计,特别是消息机制。这两样东西学
好以后,
才谈的上MFC的问题。这两样东西在MFC中可是关键和难点。与其在这上来白费气力

不如从头打好基础。在学会了简单的MFC后,可以看看候捷的深入浅出MFC等书进一

提高。最后可以选择一二样关心的领域进行深入学习,没有人能精通所有的方面的

对了,不知你其它的基础如何?程序设计可不光是语言,你说呢?
(1)“老兄”恐怕谈不上,估计是“老弟”了!:)
(2)“英语要好”,这不简单吧?!我只有18岁!
(3)本人“不幸”使用D版VC6.0,软件中不提供MSDN。
(4)不知是否有人知道在哪可以找到MSDN中文版的下载(不全也行)。
好小伙,坚持就是胜利,五星级软件safeclean的作者赵羽绗是高三的时候就写出

SafeClean了,努力作就有成就


飞机上,一位工程师和一位程序员坐在一起。
 程序员问工程师是否乐意和他一起玩一种有趣的游戏。工程师想睡
觉,于是 他很有礼貌的拒绝了,转身要睡觉。程序员坚持要玩并解释说这是
一个非常有趣 的游戏:“我问一个问题,如果你不知道答案,你付我5美元:
然后你问我一个问 题,如果我答不上来,我付你5美元。”然而,工程师又很
有礼貌地拒绝了,又要 去睡觉。
   程序员这时有些着急了,他说:“好吧,如果你不知道答案,你付
5美元: 如果我不知道答案,我付50美元。”果然,这的确起了作用,工程师
答应了。     程序员就问:“从地球到月球有多远?”工程师一句话
也没有说,给了程序 员5美元。  在轮到工程师了,他问
程序员:“什么上山时有三条腿,下 山却有四条腿?”程序员很吃惊地看着
工程师,拿出他的便携式电脑,查找里面 的资料。过了半个小时,他叫醒工程师
并给了工程师
50美元 。工程师很礼貌地接 过钱又要去睡觉。程序员有些恼怒,问:“那么答案
是什么呢?”工
程师什么也 没有说,掏出钱包,拿出5美元给程序员,转身就去睡觉了。

: 这个irp是tcp几乎在每个连接之前都会发,我说过了,这是一种选择。
: 比如,receive,disconnect,etc,光看我的文章是远远不够的,只能作为
: ddk的一点补充和我的心得,这些东西ddk里很详细,我的这些话不过是概括了
 : 一下而已。
: 这个过程是典型的callback,ndis的几乎所有函数都是回调函数,
 如果这个概念没有,那理解就比较困难。
:
 我在这里通俗一点的说,你用过vb吧?
: 1你先定义commmand1_click,这个相当于tcp发一个irp,设置函数指针。
: 2事情发生的时候,比如你click一次command1,于是win32就会调用
: command1_click,相当于ndis调用clienteventxxx。
: that's ok?
 强烈建议饭要一口一口吃,请先学一些基本的ddk sample。







在设计一种语言时,必然会有其目的。basic的目的是简单易用,到现在的
VB也依然是其主要的特徵。当然VB在标准的basic上作乐许多扩展,但应当
注意到这些语法上的扩展或者说所谓的“新”特性,其实在其他语言中早
就存在乐。如果说basic语言编程能力与C++,oopascal相当那就不应该“进步”
的这么快!



精通VC对了解WIN下的编程原理,大有裨益,进而学习其他工具时,会事半功备。
同时
很多系统级编程、底层应用编程,也必须用较底层的工具方可。VC此时自然可大显
身手。
但是真正平台高手都有体会,平台编程的精髓是掌握和熟悉庞大的WIN API,以及
更底层
的系统调用,甚至端口的访问,还有诸如:WINSOCK、COM/DCOM、WININTER等各种

技术。至于用什么工具倒在其次。我见过VC只会用MFC的初哥,那你就很有限了。
 在
WIN平台,如果做什么都用VC,那我除了对其执著与坚强表示120000分的钦佩以外
真的
在想不出更多的称赞之词了。明摆着,很多应用并不适合VC做。
该干吗干吗,不再是个人英雄主义的时代了,面对强大的市场压力(或用户的压力
)软
件的开发效率、开发周期越来越成为开发者胸口永远的痛。我们真正需要的是高效
、快
速、高质量。选择什么样的工具,相信职业选手会作出正确的选择
"所有语言的编程能力相当,但是由于人们认识世界的方法和角度不同,在特
定的环境下采用特定的编程工具,这是计算科学的基本本出发点之一........"
这是我认识的一位高手硕士论文( 关于 prolog 语言的)的开篇词


我认为应该深学VC++,在学BCB,因为VC++是可以操作系
统内核的,当然用其他工具也可以修改内核乐,不过VC是
最正统的修改系统内核的工具,在软件领域,没有比系统内
核更重要的乐。但在做其他应用时,是应该用不同的工具,
只要能完成这些应用就可以乐,不必深入来学习,在
Windows领域还是VC最好乐。

我就掌握很多编程的工具乐,比如Java,ASP,VB,VFP,PB等,
不过都学的不深,只有VC深入学习乐。岸枫浊见,方家见
笑。




要学那一门语言,看你用在那方面! 如果是初学编程,首先要学会程序的基本流
程和结
构,而不在于那种 语言!我建议你学vb, 简单易用!如果想学点逻辑结构强点的
,可以
学C,C++! mfc是vc中的一个术语,是vc的基础类库!
另外同意LSWIN的说法,思维、分析方法很重要,学什么语言是次要的。

我知道让斑竹讲到这个地步已经够"折磨"大虾你的了.
这个没什么,前段时间比较忙,很抱歉。刚刚知道有人中秋节要请我吃饭,
而且还有湘菜,呵呵,心情一下子好了许多。:-)
: 在此小弟对斑竹你的耐心讲解,表示衷心的感谢!!!
: 我也知道自己还不到两个月的学习是皮毛也没有学到.也许很多时候就是这样,
: 新手就是新手,但我不会放弃的.
这就好。呵呵
: 不知道斑竹能否讲一点你几年来的学习经验或心得什么的.不奢望自己
: 能很快学有所成,只希望少走一些弯路.不止斑竹肯否说点什么?
: (windows系列网络驱动程序方面的书比比皆是;ddk document 也是
: 讲解甚详,成篇成篇的英文文章;sample 也有好几十个.作为一个
: 初学者,我真是有些茫然,不知从何下手.)
“不奢望自己 能很快学有所成,”,呵呵,我也没有能够学有所成,
现在还在不断的学习,我自己知道,还差得远呢。很多东西不实践
是不知道的,唯有实践才明白inside nt里的轻描淡写的一句话是
什么意思。学习嘛,当然是从最简单的东西学起,首先搞清楚如何
编译和调试,这个相信都会了,否则我真是一个废物,这个版开了
这么久,还是什么用处都没有。然后,比如说ndis,先单步看看packet,
passthru,现有一些概念,然后做一些改动,调一调,增加一些功能,
或者在某些地方用另外一种方法实现,多看看ndis.h。
或者要做pci卡的驱动,那就先做一个简单的,没有中断的,然后做一个
有中断的,系统io队列的,半双工的,然后用自己的队列,多dpc的...
然后,我不能再说了,因为我的水平也就到此为止了 :-(.

要仔细的看ddk,要硬着头皮的看。然后仔细的看sample,每一步
都要清楚到底发生了什么,然后才...

我看一些driver的书的时候,有一种感觉就是,看的时候,觉得容易,
不就是那点东西嘛,都会。可是做一个driver的时候,却发现,妈的,
这么讲的这么简单,我这种情况没提到啊...其实还是提到了,不过
一句话带过,不理解。所以我说我每做一个driver,都对inside nt
有了进一步的理解。这本书我断断续续不知道看了多少遍,也许有5遍?
可是现在还在看,每看一遍都有新的体会,于是我的书上有各种颜色的
批注,理解是一步一步加深的。

:
没有有想过编程是什么????掌握几门没有一门精通的语言??别人的代码拿来东拼西
凑的改
改外观??? 对小学生说,这是我做的!! :)为了一门办不到的语言,绞尽脑汁,使其实
现?????? 根
据不同的应用类型选用合适的工具,这才是智者的选择。
因为偏爱某种工具,而不管作什么都用他,以不变应万变,是工匠的选择。
VC很迷人,我也很喜欢。但我觉得做东西要面向应用,而不是面向工具,
不要做匠人,作一名聪明的程序员。

不要做工具主义者过时的技术是不值钱的,要想赚钱,当然要学新的技术乐,我们
程序
员是很累的,因为我们需要一直学习新的技术才可以的。当程序员是不是很惨?但
我除
了做程序,做不了其他的东东乐。
主题:但很难都精通的,要精通一种语言呀。


其实我跟你一样,十分喜欢Microsoft和Bill Gates,当然对 于它的垄断行为我也
十分讨厌!我之所
以喜欢,是由于Bill Gates 的创业精神和天赋。还有就是我的编程风格可能与
microsoft的有点
相似的缘故 :)

其实我很久以前也写过要求人们客观地看待microsoft的问题(已经 忘了发表在哪
一版了)。现在
世界上都有一股强烈的反M$情绪。其 它地方的,我懒得去评论,它好它坏,不关
我事。但作为一
个中国 人,有责任关心自己祖国的事!

M$的可怕居心,不用我说,已经众所周知了。关键是如何在这样
的环境下继续发展中国的计算机民族产业。可惜,没有多少人能
够头脑清醒!国内的人很容易跟风,什么都是一涌而上,追究起来
涉及到许多历史,政治,和民族性的问题,不想谈。这一特性也蔓
延到计算机领域。想当年,全国上下学DOS,学WINDOWS的热情有多
高!就很少有人提出反对意见的。而如今M$终于原形毕露,全国上
下又众口一词地指责M$,真是义愤填膺!好了,大家为了抵制M$.
WINDOWS-> Linux, VC-> BCB, VB-> DELPHI. IE-> Netscape...
而且把M$的产品说得一无是处,简直就是一堆垃圾。以为这样中国
就有救了,中国的计算机民族产业有救了。。。哈哈,真是十足的
看风使舵,瞎了眼的无知者!把M$骂得淋漓尽致的人,其实也在骂
自己,当年也就是这些人在义无反顾地追随着M$!人人以为LINUX
是救世主,争先恐后地使用,传媒也不分青红皂白地大肆宣传。。。
看来看去,也不觉linux有什么特别。作为UNIX,性能要比NT的好,
根本没什么大惊小怪。而易用性比不上WINDOWS也不足为奇。其实
linux只是UNIX的一种,它系统本身没有带给我们什么新东西。而只
是linux倡导的open source code和linus等一大批年轻人拥有的创新
精神才是其精髓所在(其实这些东西很久以前也有了)!!只懂使
用和开发linux,却不能体会这种精神,就如当年盲目跟随windows
一样可怕!!其实M$这么强大,想在LINUX下开发出OFFICE,VC,VB,
IE。。。也不是难事。M$大不了以退为进,虽然削弱了WINDOWS的市
场,但在LINUX方面却能捞回一把,到时候结果也就一样!

其实,关键在于中国没有自己的东西,换来换去也是逃不出人家的
手掌心!这商业化的年代,那家公司不想垄断市场呢?SUN不也想
垄断JAVA吗?CISCO不也想垄断NETWORK吗?怎么没有人抱怨COCA
COLA的垄断呢?连red hat现在也有垄断linux的苗头。让一家独大
当然不好。我当然也不想只有Windows。但是请那些仇恨Microsoft
的人兄暂时放下敌意,平心静气地了解一下Microsoft壮大的历程,
从中可以学到许多有益的东西,比光是咬牙切齿强得多。而且不要
光一味地指责别人,多从自身找找原因,这才是解决问题的根本方
法!我以前在“一点看法一点体会--国外与国内,数学与计算机”
一文也提到过了,管理的落后和制度的不合理,不完善才是中国计
算机民族产业的根本问题。没有意识到这一点,无论你如何转用什
么系统,什□
'5c软件(即使是国产的),也是徒劳。金山公司就是一
个很好的例子,光有一群技术高的热血青年是不够的,如今与不会
搞电脑的联想合并,就更加没戏了 :(

对于BCB的前途问题,既然SKY说了,我也多罗唆几句。BCB光在
国内流行是没用的。国内的盗版多,有多少人真正付钱给inprise
呢?这样一来,真正购买的人少,inprise自然也会重新考虑BCB
的发展方向。到时候,inprise也可能无可奈何地停止BCB的开发。
商业社会就是这样,无论技术有多高,没有创造出利润的产品,也
只能给淘汰!

的确不可否认微软在商业战争中的成功和GATES

 先生在商业经营上天赋,其实我一直是微软的支持者,因为我喜
 欢GATES(无论是作为天才的程序员还是伟大的商业领袖)。可
 是用多了同一个公司的产品总感觉有点繁(从操作系统到许多应
 用软件),不过微软公司的产品的可用性当属一流,当初我开始
 想学习编程时我用了一个月的时间在微软的VB和BROLADN的DELPHI
 中进行选择,后来我选择了VB,首先是由于微软的产品的中文支
 持,其次是考虑寻找工作上的可利用性(很少有招收DELPHI程序员
 的招聘广告),但是后来我仍然很喜欢DELPHI。对C++ BUILDER发
 生兴趣是在我想学习C++和对DELPHI的喜欢的基础上,当然我也考
 虑过学习VC。你所说国内BCB之所以很流行,是受很大的国情影响,
 这一点也不错,因为近来反微软的情绪高涨,不过想来微软的确太
 可怕了---在许多领域上接近垄断和银行内上百亿的储备金仿佛随
 时可统制整个世界。我发表的与你相对的意见如有冒犯之处请原
 谅,其实我是出于对微软的喜欢,而不希望它由于变的太可怕而被
 分解,所以才支持C++BUILDER的。我不同意你关于BCB的前景不怎
 么乐观的说法,也正如你所说"受很大的国情影响",这势必会造成
 BCB在国内的成功。我目前只是在从事计算机的应用工作而不是一
 个程序员,在编程上我也只不过是个初学者,见识尚浅,也许不应
 和你谈论某种开发工具的优劣和发展前途,但我感谢这个自由的网
 络给予我的这个机会,在这个世界上又有什么不可能的事呢?
 也许我们可以交个朋友

当然,已有的数学象李白的诗文一样,是人类直觉经验的宝贵财产.
我觉得学习时一是要静下心来慢慢体会二是像一项手艺一样熟练操作.
另外,软件业发展很快.适应它的数学也处于一个快速变化的不确定
阶段.很多,以往有用的东西已经没有了实用价值.所以,我奉劝您最好不要涉
足,把她留给专家吧.
作为弥补,我建议您尽量使用先进易用的开发工具.理性的细节的
东西开发人员已经为您做好了;您就大胆的发挥您的想象能力吧.

数学和算法的问题,在这个版已经讨论很长时间了,颇有气宗剑宗
之争的味道。8-)

我个人觉得,对于一个真正的程序员和开发员来说,数学和算法方面
一定的知识是非常重要的,没有这些东西,光靠无论是概念多先进的
语言,效率多高的开发环境,都不可能写出真正高效率和优美的程序。

但是,数学和算法对一个程序员,到底有多重要,就是一个因人而异
的问题。你需要多少这些方面的知识,跟你的实际工作需要和你对
自己将来发展的目标有很大关系。比如说一个系统设计者,就需要对
很多基本算法和相关的数学知识有很深刻的认识。

具体到老兄,也不必太沮丧,我是不太相信老兄痕7b在真的连初中水平
都不到。勾股定理总不会忘吧?8-)

我觉得对于一个一般的程序员而言,以下几方面的数学知识是必备的:
集合论、线性代数、微积分(一点点就可以了)、自动机理论、图论。

我连一元二次方程的求解公式都忘过,还有救么?
挺同意魔法胖子的意见,不能说工具先进就不管算法,也不能
说数学不行就全完蛋了,有人说学工科的在理学方面多数只需知其
然就行了不知意见对否?

呵呵,不瞒老兄说,我最记不住东西了,很多公式、算法、API用过
多少遍也记不住,每此都得查书或HELP。所以老兄也不必太过着急。
我觉得学工科的对于理论方面确实大多数只要知其然就够了。理论真正
明白了,很多结论和定理并不一定要全背下来,只有达到知道有这个
结论可用,用的时候知道到哪里去找就可以了。当然如果能知其所以
然就更好了,有些基础理论最好还是能彻底搞明白来龙去脉。比如说
自动机理论,定理非常多,绝大多数只要知道结论就可以了,但有些
基本定理,其证明过程本身就是构造算法,这种情况下,就最好搞个




你的见地是现在比较流行的一个观点:软件发展到一定程度
后可以归结为一个管理问题。而以前国内的软件人却认为是
一个一个数学问题。

根本不想和你争些什么!!不过发痕7b你一次又一次地发 表些象标语口号似的文
章,里面却一点
“内涵”也没有。 我希望这不是你个人的写照。 你得过六次国家级省级奖励,但
由于高考制度
的腐败, 你只能就读一间不入流的大学。工作时,领导只会夸夸 其谈,毫无真本
事,使你很受压
抑。。。不知我所总结 的正确与否,请指正!

由于六年的中学学习我都是在一所省级重点中学中就读, 而这所学校在省级
重点中也是数一数二的。因此,遇到 的能人高手实在不少,什么n次国家级省
级奖励的比比皆 是,也不乏世界奥林匹克竞赛获奖的,有一位更解决了
一道世界著名的数学难题,证明出此题无解!!所以六 年下来,我的感觉就
是天外有天,人上有人!当然我不 在其列 :) 也让我以前十分自负的性格荡然
无存 :P 所 以若现在有人对我说他以前获得过什么名次什么奖励, 我个人是不
会觉得有什么惊奇的地方。不过的确为你不 能就读名牌大学感到惋惜。我那
些得奖的同学绝大多数 在毕业前都已经给各所名牌大学抢去了,不知道为什
么 得过六次国家级省级奖励的你却无人问津?

不过就读的大学不好,也不需耿耿于怀。我不是考试的 料,高考考得一塌糊
涂,就读的大学当然也很不理想, 对于一个省重点中学的学生来说,简直是
失败!不过我 觉得大学是“个人主义”时期 :) 毕业分配时,自己决b
子内有多少料完全是靠自己,坦白地说,我现在所具备 的绝大部份电脑知识
都是自己在课余时间学来的,与就 读的计算机专业无关。由于经常奋战到深
夜,根本不复 习,白天上课时往往就是三部曲:抄作业/笔记,聊天,
然后睡觉 :P 考试也免不了“出猫”,可见我不是一个 好学生。在我的经历来
说,大学仅仅给了我四年的自学 时间!当我再与以前获奖的中学同学走在一
起时,发现 大家的电脑水平各有千秋。获奖又怎样?名牌大学又怎
样?要求高,学生整天忙在课本和功课中,能学得更多 吗?差的大学也有它
的好处,管理水平和教学质量不高, 自然,可以利用的空余时间就越多,一
句话:靠自己! 当然了,讲到文凭的份量,就不能相比了。但现实如此,
怨天尤人又能改变什么呢?好好地把握自己不更好?

至于工作时,领导只会夸夸其谈,毫无真本事。这简直 就是遍地都是,你以
为只有你才有“怀才不遇”之感吗? 你以为这是“中国特色”吗?在香港M
是天外有天,人上有人!当然我不 在其列 :) 也让我以前十分自负的性格荡然
无存 :P 所 以若现在有人对我说他以前获得过什么名次什么奖励, 我个人是不
会觉得有什么惊奇的地方。不过的确为你不 能就读名牌大学感到惋惜。我那
些得奖的同学绝大多数 在毕业前都已经给各所名牌大学抢去了,不知道为什
么 得过六次国家级省级奖励的你却无人问津?

不过就读的大学不好,也不需耿耿于怀。我不是考试的 料,高考考得一塌糊
涂,就读的大学当然也很不理想, 对于一个省重点中学的学生来说,简直是
失败!不过我 觉得大学是“个人主义”时期 :) 毕业分配时,自己决b
子内有多少料完全是靠自己,坦白地说,我现在所具备 的绝大部份电脑知识
都是自己在课余时间学来的,与就 读的计算机专业无关。由于经常奋战到深
夜,根本不复 习,白天上课时往往就是三部曲:抄作业/笔记,聊天,
然后睡觉 :P 考试也免不了“出猫”,可见我不是一个 好学生。在我的经历来
说,大学仅仅给了我四年的自学 时间!当我再与以前获奖的中学同学走在一
起时,发现 大家的电脑水平各有千秋。获奖又怎样?名牌大学又怎
样?要求高,学生整天忙在课本和功课中,能学得更多 吗?差的大学也有它
的好处,管理水平和教学质量不高, 自然,可以利用的空余时间就越多,一
句话:靠自己! 当然了,讲到文凭的份量,就不能相比了。但现实如此,
怨天尤人又能改变什么呢?好好地把握自己不更好?

至于工作时,领导只会夸夸其谈,毫无真本事。这简直 就是遍地都是,你以
为只有你才有“怀才不遇”之感吗? 你以为这是“中国特色”吗?在香港,
在美国就没有吗? 也是那句话:现实如此,怨天尤人又能改变什么呢?先
看看自己是否完美无缺?

还有,一个人不懂“大道理”是不行!!一见别人说“大 道理”就想也不想
地'7b为人家只会空谈,不合实际,那么 不知道你对周恩来,邓小平又有什么评
价??即使此人善 于夸夸其谈,但是若所说的正是自己的不足,难道就不应
该改一改吗?难道脑子里装的只能全是code?虽然受环境 所迫,现在只能是
“小人物”,难道就不能有空想,有梦 想吗?这样我只能说是你把自己禁锢
在一个暗无天日的黑 房中了。 最后,还是那句话: 现实如此,怨天尤人又能改
变什么呢?


哈哈,赶英?哈哈,英国的软件业很落后的,哈哈 我就问你一句,你拿什么谈论

中国软件业? 呵呵,中国痕7b在对软件业的风险投资根本就不够,中国的许多软

件公司一开始就 以赢利为目的,这种鼠目寸光也能谈中国软件业?
中国的许多软件公司根本就缺乏现代化的管理,经常连人员都留不住,
也想谈发展中国软件业?呵呵,中软一年要走50%的中高级人员,你说说
我门这些小人物除了谈谈小技巧之类的,能在做什么?请大侠赐教!!!!!
【 在 vcc (vcc) 的大作中提到: 】
: : 程序员最重要的是思维能力,只有想不出,没有编不出。
: : 建议以后多讨论些如何提高思维能力的问题(辩证法?)
: 哦,老兄,我门是一年纪学生吗,满堂主义满堂理论,咱不懂啊,来道例题如何
程序员不过是脑力劳动中的扛大包的,当然不懂什么理论和主义,是以做例题为

乐的。 中国人个人都很优秀,但如果满足于一点小聪明,永远不过是程序员而已

会一 点雕虫小技,还好意思拿出来和人比。别人介绍一些新思想,就觉得伤了自

己的 自尊心。 试问各位号称程序员的哥们,自己倒底做过什么想样的软件? 从

没来过这一板,一看竟然是一群井底之蛙象受欺负的妇人般哇哇叫。
我不是程序员,我可不以之为荣。 我看您老只能在天安门广场空地上用粉笔
写下这段文字让人遗笑天下了... 我们的程序员很优秀,看看这里(网易)的总经理

就知道,还有许许多多... 扛大包的怎么了?您老想扛扛的东吗?别看不起我们好吗

?我们一直很努力...我是个程序员,我以之为荣


看大家讨论这个问题很久了,一直想谈谈自己的看法,都没有动手,现在看到pi

pi的大作,不得不说一下。 我认为,pipi同志认识事物的眼光很有问题,太过偏
颇,
太不客观,太不负责程序员只是一种职业,就象社会上 其他职业一样。我们这个

社会能够延续至今,每一种职业都作出了贡献。每一种职业的存在都有它的理由,

都需要 有人去做。一个人干什么职业和他具备什么样的思想根本不沾边。爱因斯

坦曾经 当过专利局的专利审查员,难道他 就不具有科学家的头脑了??莎士比
亚当过歌剧院的看门人,难道他就不具有文 学家的头脑了??所以说,请不要
用职业来看待人,这才是井底之蛙的作法。一个人不可避免的要从事某种职业(

寄生虫除外),但他的思想是活的,真正有头脑的人是不会被他的职业所限制的。

不知pipi同志从事什么职业,或是将要从事什么职业,有句话叫“隔行如隔山”,

既然你不是程序员,你就不会了解他们,所以你对作为程序员的人们 评头论足是

极不负责的做法。比尔.盖茨 刚开始时也如pipi同志所说的是个"脑力劳动中的扛

包的",但他懂不懂什么理 论和主义我就不知道了,我只知道他 现在是世界首富

领导着世界上最大的软件帝国。人不可貌相,更不可以职业论 人。一个人能够作

好他的职业,就是 对社会的贡献,应该得到社会的承认。我目前还算不上一个优

秀的程序员,但我 尊重那些优秀的程序员,并以他们为 学习的榜样。我同样知
道思想的重要性,但思想是从实践中得来的,脱离实践的 思想只能是空想。只有

善于从实践中
提炼思想的人才是有头脑的人。
有个朋友问我:"C语言之所以受到大家的喜爱,是不是因为它能直接控制硬件?
VC是不是也因此而流行?"我觉得既然大家都讲WINDOWS下的编程不主张应用程
序直 接和硬件打交道. 那么VC的流行应该不是这个原因.不知各位高手如何认为
?
VC真的很流行吗?不见得吧?我认识的程序员大多是dephi和VB、PB的,
VC可谓少得很。不过VC是个非常强大的开发工具,功能强大,自然就流行。
其实不能算流行,大家想开发一个产品,只是到了某种开发工具不能实现一个
功能时,才想到VC,可见VC是功能强大,但通用性不强
我觉得JAVA兄所言及是,不是说编码不重要,而是有更重要的事等着我们去做.现在

的计算机技术发展太快,虽然我们也取得了很大的发展,可是别人也没有闲着,我不

知道各位是否也有同样的感觉.我们现在学习的速度甚至比不上人家推出新东西的

 速度,我并不是泄气,只是着急.想想在DOS时代,国内和国外的差距感觉还不是太大

,我们有许多高手都将DOS反汇编出来,研究的一清二楚,TC2.0很多人也是滚瓜烂熟

.可是自从进入WINDOWS时代后,有几个对WINDOWS的原理极其清楚的.我们只看
到B C3,4,5,VC1,2,..6的飞速发展,OWL还未掌握,已成昨日黄花,MFC还没有精通
,VCL已 翩然而至,后面还有JAVA.... 只把自己的主要精力放在具体的编程上,对

题的认识未必会有本质的提高,会编程并不能彻底的解决问题,解决问题需要全
面系 统的认识。目前更重要的是实际是掌握解决问题的综合能力。就象过去做应

用题 一样,不会计算肯定不行,但是更重要的是找到方法。
 uu12288  最后,谈谈VC和BCB,BCB比VC最大的进步是提供了类似
VB,DELPHI的RAD技术 ,这使用BCB做应用软件较有优势,但是如果要开发系统
软件,如大型数据库,RA D就没有多大优势,甚至在开发传统WINDOWS程序上,
BCB确实还不如VC方便,别的 不说,BCB在4.0中才提供了CLASSEXPLORER,以前
在代码中浏览真是不方便。当然 BCB的可视化确实是个飞跃。
 uu23601 ?说这些了,情各位指点。

你说的对,有时候BCB的BUG很让人恼火,只要又抱起VC了,虽然咱VC好差劲。
BCB在处理系统底层上的功能欠佳,但这种图形化的开发方式也未尝不是一大进
步 在选择工具上应该具体对待,我并拘泥于任何一个,有必要VB也未尝不可,
金蝶 不就用VB吗,人家的三层模型开发也不是搞的挺好吗,其实,真正需要什
么就用 什么,这也是我的一贯观点

很久没有弄C++了,今天看了看以前的code。发现自己 在owner-drawn button 中
 display a bitmap时,
 都 是用setwindowpos的。其实一点也不麻烦,你可以把它 独立写成一个class或
function,使之能够
自动处理 bitmap 和 button 之间的大小和位置关系,以后就只 是调用就行了,
岂不更方便?而且
还可以不依赖IDE的 resource editor,在VC,BC,BCB中都可以使用。

像我以前所说的,不要贪图IDE提供给你的方便,也不要 怕麻烦,从SDK学起,我
认为是一个好
的开始。刚学起来 的时候,写一个windows program,会比用MFC,OWL等慢 许多
。但是有付出,
才会有收获,当你精通了SDK,再运 用OOP的思想,你自己完全可以写出同MFC,
OWL的一样的
CLASSES。即使不写,而直接用MFC,OWL也比那些一开 始就用MFC和OWL的会更清楚

WINDOWS的编程。举个例子, 当按下WIN9x的“开始/START”button时,会POP
UP 一个
显示出bitmap和icon的菜单,有许多人觉得不知道怎样编 程实现,其实,你痕7b
在会使用
OWNER-DRAWN BUTTON了,那 么使用OWNER-DRAWN MENU就易如反掌了。。。

很多谢你能一针见血地指出“程序员不过是脑力劳动中的 扛大包的”。我个人十
分赞同!不然的
话,我也不会一次 次地“长篇大论”,讲的完全是与写CODE无关的观念问题。 忠
言逆耳,虽然
这是一个很难使程序员接受的事实,但事 实终归是事实。正所谓旁观者清,你的
这一说法,我无
法 反驳。
但是你也太极端地看待“扛大包的”,难道“扛大包的” 就“不懂什么理论和主
义”??只懂
“以做例题为乐的” 程序员只是一个死板的程序员,而不是一个真正优秀的 程序
员。再说职业无
分贵贱,一个人的思想与他所从的 职业是有一定现实差距的。只要他是自食其力
,不做犯法 的事,
我就尊重他。如果他还会用脑去想问题,不断提高 自我,我就敬佩他。
虽然我还是一个“扛大包的”,但我仍然以程序员为荣。
本人最近想学学VC(以前曾学过标准C),想买些相关资料看看, 不知道应该买那
个出版社出的
什么书,请各位推荐一下,多谢了!
-
在此问题上我是深受其苦。花了俺不少冤枉钱 其实学vc6不一定就看vc6的书,只
要不是太老
版本的书都无所谓,感觉 学vc至少应有3本书,一本讲c++语言的,一本讲MFC的,
一本讲SDK的,
当然如果 E语好,在线帮助的资料也很够劲了。 MFC的经典书有情话的《vc++系统
内幕(第五
版)》和华工 的《深入浅出MFC》 SDK的经典书有《windows95系统程序设计》
(糟糕,记不 太清了)反正也是情话出的。 C++的我就说不太清了
微软的一套也不算差,至于国人的么,恕我眼拙,除了一本 《精通VC++FOR
WINDOWS 95/NT
编程》之外几乎乏善可陈,谁 能推荐一本国人的?


VC,BCB都是好东西,我都很熟,可以说,VC能做到的,BCB也能做到,BCB能做
到 的,VC也能做到,原因很简单,因为有WIN32 SDK 和 DDK。 所以,大家都不要
争了,况且,
这里面还有个习惯问题,这往往决定一个人的偏 好。 只不过,这两者有其不同的
特点,在界面上
BCB比较方便,但VC更灵活,在系统上 VC效率更高,但BCB也有其简便的地方。当
然这些差别
也不是固定的,与程序员的 掌握程度及看法有关。 我觉得,比较好的是用BCB做
前台应用程序,
VC做服务器的后台程序。 不过,从学习的角度来讲,VC比BCB难,所以,如果你是
软件公司的
老板,最好 选用BCB,因为会BCB的人多,既容易找,薪水也可以低一点,况且,
BCB的原代 码
应该说也比VC的好懂一点,这样,就不怕程序员跳槽。 : 呵呵,我对编程的
crazy不说也罢。
: : 只是想提醒一下你,任何一个真正的程序员,几天几夜不停 : : 地对着计算
机已经是家常便饭了,
网上的高手多的是,不要 要习惯八小时内解决问题,否则,于身体不利,并且,
不要 抽烟。经验
之谈阿。:) : 哎,你这人啊,我认为我太差,才来学习的,你老兄长片大论,我
好好向你 : 学习,
可不知道向你学什么,难道让我向你学习如何讨论M与B,C与A, ~~~~~~~~~~~
什么东西? : 哈哈,LOVE1974虽然水平很差,可也不屑已故这个吧
看了你的数篇高论,也谈谈我的想法。 我想我是从程序员的角度来谈对数学对算
法的看法的,而
你是从 一个设计者的角度来看的。我承认你的看法是正确的,因为事实 确实如此
,而外国人领先
我们的也正是这种观念。其实,在东京 我改变的也正是观念。出了国门,大家都
在变。(偷笑)
只是我想说的是:“一屋不扫,无以扫天下”,扎实的基础是必 不可少的东西,
正如数学之对于
计算机,是基础。 谈到天生的程序员,记得我在大四的时候,同桌的朋友给我作
了 一个“是否是
天生的程序员”的测试,除了不会乐器以外,其他 都打了勾。(再笑) 感谢你在选
斑竹的时候投了
我一票,因为一直在作一个项目,前 几周平均每周只有20小时的睡眠时间,想说
谢谢也没有力气。
其实, 我一直觉得java你的看法有点偏激, 不过反而是怕 你误会而没怎么提出来.
 在我看来, java你
似乎是觉得使用VCL就不能深入接触内核 和把握WINDOWS API的原理, 导致技术退
步, 而我的看法

使用VCL需要有更高的技术和技巧, 你不要把那些拿VB,PB 等开发工具当绘图软件
用的人当程序员
. 一个BCB或DELPHI 的程序员, 同样需要对WINDOWS SDK有最深刻的理解, 懂得
DK其实只是最基
本和起码的要求.
在VCL中, 需要掌握的东西, 其实只会更多, 不会更少, 我觉得java你是使用VCL的
经验还不够, 还没
找到感觉吧. 等你把VCL的source code过一遍, 或许你就会有所体会了. 你也该清
楚, 假如要用好
OWL和MFC, 阅读LIB的SOURCE CODE 是很重要的吧, VCL同样如此

另外, BC一直领先M$的同类型开发工具, 不过至今BC没有死 它只是变成了BCB, 而
BCB的出现是革
命性的, 有了BCB, BC 就可以光荣退休了. 由BC到BCB, Borland一直处在领先的位
置.
它们之间, 差距最小的时候可能是BC和VC竞争的阶段, 在这 阶段, 我想BC的确优
势不大吧,
DEBUG方面可能会好些, 不过 Windows程序在DEBUG方面一向没有DOS方便, BC的优
势显得微弱
于是就有更多人凭心理感觉去选择正宗的VC. 想想在DOS的时候, 又有谁会去用
MS C呢? 都是
TC和BC的天下. MS C到7.0版本还不能支持386代码, 运行环境必须有DPMI支持. (
它自己还不带
DPMI模块, 逼你在WIN31或QEMM下运行)

我最早用BORLAND的产品是TP5.0, BORLAND给我的感觉就是体贴 程序员, 其实, 我
认为, 一个优
秀的程序员, 不但应该懂得处理 艰苦的编程环境和懂得系统核心的原理, 还需要
懂得利用系统或
开发工具为程序员提供的体贴.
:
: 在“to love1974”文中,我已指出了“对它们的比较, : 各人有自己的经验和
体会,所以不能说
谁对谁错”(各 : 位BCB的高手们看见这句话了吗???!!)但不能莫名
: 其妙地搬出“学界早有定论”来愚弄大家。我个人最讨 : 厌就是那些用权威来
狐假虎威的人,若
纯粹是个人意见, : 即使是错的,我也很乐意听听和讨论。若说什么“学界
: 早有定论”而又不能提出资料来源,这算什么???? : 我能不能说“VC比
BCB在各方面都要好
得多,学界早有定  论”
:
: love1974兄左一句说我偏激,右一句说我偏激。哈哈, : 我说“请那些仇恨
Microsoft的人兄暂时
放下敌意,平心 : 静气地了解一下Microsoft壮大的历程,从中可以学到许 : 多
有益的东西,比光是
咬牙切齿强得多。而且不要光一味 : 地指责别人,多从自身找找原因,这才是解
决问题的根本
: 方法!”难倒这样不对吗?难倒这样就是“宣扬那么多M$ : 的广告”??你在
email中说得好
“我一贯的原则是:别人 : 只要有一技之长,他这一技就是我的老师”那么M$真
的在
: 你眼中连一技之长也没有??好了,我为VC多说了几句话, : 结果又变成了在
宣扬M$了,这是
什么逻辑??老兄你是否 : 真的对M$仇恨得红了眼??在"使用BCB控制关机或重
新启动 : (嘻,
BCB不得不学)"一文中,你说的方法完全就是调用 : SDK。我说“SDK不得不学”
,好了,你竟
然引伸出“机器代 : 码更不得不学”,这又是什么逻辑??可不要说SDK是M$的,
 : 我又在宣扬
M$了! :
: 我使用BCB的时间不长,所以我个人对BCB的感觉与各位BCB : 高手的会有出入,
所以我是真心
实意地想了解一下在各位BCB : 高手眼中到底BCB优越在哪? :
: 1) 对于易用性问题,我也说过了“以前试用了 C++ Builder : 一段时间,发
现的确很容易上手”
各位BCB的高手们还记 : 得我说过的这句话吗? :) 不过容易使用,往往使人们忽
 : 视了许多重要的
细节,要知道真正写大程序的时候,可不 : 是那么简单写几个GUI就行了。所以
BCB的易用对于初
者  来说既是好处,又是导致技术不高的隐患!!当然了,这 : 因人而易,若初
学者不甘于只是那
种表面的易用,而渴望 : 对内部机理的了解,技术会大幅度提高的,到了这个程
度,
: 与使用VC就没有什么区别了。各位BCB的高手们看到这,千 : 万不要想当然地说
“那么你乾脆使
用汇编好了” :) 其实 : 能懂汇编,那么难道不好吗??
2) 对于开发效率,我也说过了“只要对SDK和WINDOWS编程的 : 原理熟练了,能
够灵
活运用OO的概念,用VC,BC和BCB开发 : 的时间是相差无几。”再请各位BCB的高手
们看清
楚!! : 是“相差无几”我可没说VC比BCB好 :)
 3) 从项目的管理方面,就不是工具上的问题了,而是管理者 : 本身和程序员的
素质,还
有就是制度问题。
 4) 至于编译速度和代码运行的效率,说了可能又会使各位BCB
: 的高手们以为我又在做广告了,不说也罢 :P
: 5) 在流行程度和前途问题,我也提到了:“BCB的前景,我个 : 人认为不怎么
乐观。首
先要说明一下,我一向都承认BCB : 是一个十分优秀的编程环境。但是一个软件的
前景,
并不 : 只是取决它本身技术的优秀与否,而是与许多商业行为有 : 关。同样当年
BC的技术
是比VC的要优秀,可是后来有怎样 : 呢,众所周知了!在国内BCB之所以很流行,
是受
很大的 : 国情影响。我也说过了在硅谷,C++ builder是'珍稀动 : 物'. ”后来
,我在“再谈中
国计算机业的现状!!”一文 : 中已经补充说到“BCB光在国内流行是没用的。国内
的盗版
: 多,有多少人真正付钱给inprise呢?这样一来,真正购买 : 的人少,inprise
自然也会重新
考虑BCB的发展方向。到时: 候,inprise也可能无可奈何地停止BCB的开发。商业
社会
: 就是这样,无论技术有多高,没有创造出利润的产品,也 : 只能给淘汰!”各
位BCB的
高手们看见了吗?我可不只一 : 次说到了BCB的优秀!!
: 5) 那么,只剩下功能上的实现,我没有使用过BCB的全部功能,
:
: 至于kvdvm说的“BCB是我们逻辑和感情的寄托,understand ?” : 哈哈of
course, i
understood!!BCB在你眼中,就如文革期间, : 老毛在那些红卫兵眼中一样,万寿
无疆,他
所做的所说的,是 : 根本没有可能有错!!既然BCB对你如此总要,象神一样崇拜
, : 我
是十足的无神论者,那么跟你讨论BCB的不足,就好比与一个 : 虔诚的基督教徒讨
论耶酥
是否存在一样,结果只能引起“流血 : 事件”!所以请对于我所说的一切,不要
放在心
上,尤其对BCB : 前途问题的讨论,我希望不会影响你对自己的人生哲学,否则 :
 发生什
□c“流血事件”,我可担当不起!!

我最早用BORLAND的产品是TP5.0, BORLAND给我的感觉就是体贴 程序员, 其实, 我
认为,
一个优秀的程序员, 不但应该懂得处理 艰苦的编程环境和懂得系统核心的原理,
还需要懂
得利用系统或 开发工具为程序员提供的体贴.


程序员最重要的是思维能力,只有想不出,没有编不出。 建议以后多讨论些如何
提高思
维能力的问题(辩证法?) 我不是很同意。软件,还是处于发展阶段,受制于硬
件,
算法研究,数学理论等。 你用pc去模拟整个地球气象?不行吧。
但是我认为,始终是有一天会发展到这一天的。不过,可能 那时汽车的速度是光
速的
n倍? :那时汽车的速度是光速的n倍?
用pc模拟整个地球气象是可以的,不过要求全球的网友帮忙, 每个人的机器模拟
当地的
气象,然后用internet连在一起就行了^-^。 其实我编了几年的程序,深深知道能
编出来并不
是很了不起的事,但提出思路的人确实了不起,让我敬佩,就象"我怎么没想到",创造
力才是最
重要的, 这也是我这样说的意思.
不要窝里斗。
什么编译器,什么IDE,重要吗?Windows还是Linux,重 要吗?兄弟,重要的是你
的应用
(application)。 做服务器,我选Unix,工作开发平台,我用Windows98,
编driver,用汇编... ...


你在国外的经历可能使你的思想上与我们这些在国内的人有点不同,对中国 的前
景来说我总是充
满着希望,虽然现在有许多不如别人,但要对症对时依情 下药,才能治本,不能
太急。不要太死
板了,C版缺乏一点幽默感.....
我以前也说过了: “...Linux如今高唱入云,而且聚积了世界上许多优秀程序员
的成果,但是若它
的开发和维护仍停留在以个人或小群体的基 础上,没有系统性,规范化。即使它
的性能比
Windows要好许 多,也只能成为那些发烧友桌上的宠物,永远不能登大雅之 堂!
如今不少大公司
加入其中,对它开发和维护的管理有很大 帮助,才有可能向microsoft叫板!...


linux的优势在于open source code.但是事物总是有正反两方 面的。太多的无组
织的开发,
software虽然多了,但是质量和 维护却成为了最大的问题。而且,作为程序员来
说,他们关心
的只是怎样把自己所想的用程序表达出来,这往往走入了另一 个误区,程序员想
的不代表用户想
的,程序员以为一个尽善尽 美的然b序,对用户来说往往显得太专业,太深奥,不
知所以然。
因为程序员总在不自觉当中以为自己认为简单的东西,用户也 是同样的感觉。所
以对一般用户来
说,open source code带来 的只是大量杂乱无章的软件。因此,对那些只是爱好
者作出来 的东西
是不可能真正应用于enterprise上的,人家需要的是管 理上的承诺和信心。

希望那些头脑发热,对M$憎恨得红了眼的同志们,冷静下来, 放下对M$的偏见,
看看人家的成
功之处在哪里。不要看人不顺 眼,就全盘否定,这样一来,只能葬送linux的美好
前途.

如果有C的基础,学一学C++;JAVA也很不错,而且学起来比较 过瘾。如果要学可
视化编然b,我
极力推荐DELPHI,VC学起来比 较费劲。如果大多是数据库的应用,就学PB吧,虽
然有些过时。

这一向心情一直怪怪的,又有夏雪兄那篇帖子一搅和,心里总 有一点堵,故想一
吐为快,
近来的生活可谓是乱作一团,因为我逃学出来兼职,在一家电脑 铺子里打工,生
活徒然紧张了许
多。 我之所以逃课,乃是因为我就读于一所坏的不能再坏的大学里,该 学校似乎
已经只剩下一个
苍老的躯壳,令我觉得压抑,又有前辈深受学 校之害的伤心经历,已经使我对那
一张纸看得很淡。

我之所以兼职,并非是图那几张钞票,而是因为想学一点新东西, 主要是网络方
面。我现在背靠
家里,可以说是衣食还是无忧的,但我觉 得,父母不能管自己一辈子 可是,等我
真正干起来后,
我的心情并不好过,一是忙,没时间听 课没时间看书没时间思考,不过这我还是
相信凭自己也许
能够挤出时间 来,毕竟守店子的空闲时间不少;二是好像越来越编不好程了,这
件事 已经困扰我
很久了,但现在越来越让我不能忍受,编程时好像总很难进 入状态,脑子一片空
白,不过我居然
还接了一个小活,在公司并不搞软 件的情况下,已经很难得了 更为重要的是,我
觉得我的性格和
那商业化的东西不太兼容 乍看我这人很善跟人打交道,嘴巴又多,正是经商的料
,可我总
觉得,我的身上却流着HACKER的血也许是当年雷军的那篇《程序 员随想》对我的
影响太大了,
我至今还记得那句话:“程序员生活在 自己的想象里,这样的日子是神仙般的日
子”我看不惯商
场上的 尔虞我诈,我总是习惯用我那一种生活的方式去做事,既不愿勉强别
人也不愿勉强自己,可是现实呢,我还是要去同别人讨价还价,为了
那点并不太合理的利润 我想做一名自由的程序员,可现在呢?都快成业务员了
我想如果公司不马上垮的话,我在经济上可能要高其他同学一等 了,可是我的内
心,是否还能向
以往一样平和而充满激情呢?我的理 想呢?还能实现多少?
我准备报考程序员并以为之追求了两年了,可现在我总感觉考取
的希望几乎是渺茫的,各位明眼人应该看的出我是多么的POOR
不久还要考E语四级,可像我现在这样,估计也是没戏我并不在乎
什么文凭,可我在乎学到了什么
如果我现在腰缠万贯却没了理想,我宁可坐在斗室里写代码。
我也许一下子成不了PROGRAMMER(甚至永远?),可我将是一个
终身的PROGRAMMAN。 如何成为一名优秀的程序员?  (五)

关于VC,MSDN是必备的,D版MSDN也到处有卖的,英文水平也不见得要多高,看的

了就好办了,另外,没有VC的MSDN中文版,要养成看英文的习惯。
基础方面,要了解C++的特性,继承、重载什么的,WINDOWS程序的消息、窗口等基
础,
然后就是MFC了,你会发痕7b编程是非常有成就感的
//不知编答7b还需什么“基础”,希望明示!──半句话没意思嘛!你上大学以后
所要学
的基础课程大部分都是编然b基础。
譬如离散、数据结构、系统原理等等。
高等数学、电路基础也挺重要的。
我认为你应先学会windows SDK 编程,再用MFC

希望大家学会 DOS,UNIX 这种“打字型”的编程,不要 一天到晚 DELPHI,C++

BUILDER,VB,这些只会让大家的真实的编'7b水平 下降,可视化的编程确实很方
便,但是,真
正语言的内涵和算法,人的创意都会 随着这些而消失,可视化编程真正的创意是
窗体,而DOS、
UNIX 下的编程是完全 意义上的编程!如果 WINDOWS 下的编程,首选 VC++,可以
是 BCW,
BC4.5、 5. 0X 等,都不错!真正能够解决问题的还是最基础,最不起眼的编程方
法。" 这只是已
编程为乐趣的人的需求。不能指望人人都成为编程发烧友,是不是? 其实不能认
为使用可视化工
具的人的水平就是不高. 这世界藏龙卧虎, 或许一个人在和你讨论他如何如何喜欢
VB时, 其实他在
DOS下写C 程序的能力也比你高10倍. Bill Gate就是这类的人 :)
关键要看效率,您说对吗? 如果您相对计算机程序设计的各个方面都搞清楚的话
, 建议
您去看看诸如“数据结构”方面的书籍 在时间就是金钱的今天,也许你我的这些
想法很
难 付诸现实。在没有必要用C写的时候你用C去写,只能 是说你很会浪费时间,因
为面对
用户的是系统的“前面” 至于后面是如何包装、运行的,他不必理会页不会去理
会。
当然,再用现代的程序设计语言的时候考虑一下系统的运行 机制,自己的程序在
如何与
用户、系统交互等等到是一个 加深程序员水平的好办法。

总而言之,能用电锯就不必用人去拉锯。 真后悔当初没把数学念好,学起语言来,
在语法上尚且能
掌握, 但在写起算法来就自觉底气不足了.为了还能在这行混,决定恶补数学,但 无
奈丢下太久了,引
至现在只剩下初中都不到的水平,要补上去,真可谓前 路慢慢.不过,路长不怕,最怕
的是不知方向,特
别是在数学这座大山里,分支 如此之多,应用如此之广,真叫人无所适从.所以,在下
在此想了解一下
有那些数学 概念对与编程来说是至关重要的,学习这些重要的概念需要那些的背景
知识, 而这一切
,离一个连初中水平都不到的人有多远? 就此求教于各路前辈

依靠您的直觉!您也许觉得我在开玩笑,但是您要知道基础数学里 甚至有一个派别
叫做:直
觉主义. 数学实际上是一门语言,她描述人们分析问题时的直觉过程.学会 了这门
语言当然
有好处:便于人们的交流,便于人们的验证,便于直觉空间的
继承. 但是,就向爱因斯坦总结的一样.
"写下来的词句或说出来的语言在我的思维机制里不起任何作用...
...那些似乎可用来作为思维元件的心理实体,是一些能够'随意地'使之再现
并且结合起来的符号和多少有点清晰的印象.....对我来说,上述那些元素是
视觉性的,也有一些是肌肉性的.只有在第二阶段,才有必要费神地去寻求惯用
的词或其他记号."

看了大家的一些关于分析与代码的帖子,我觉得说的不是很全面,
大学的教育是比较失败的,这是公认的。但是说大学教不出好的
程序员,是不是有点偏激了?我的好多同学就是优秀的程序员,
还有,写软件并不是编而优则分析的,优秀的系统分析需要有的
知识是多方面的,比如管理、与其他的沟通能力、与其他部门的
协调能力、对系统的展望能力等,他应该不参与编写具体的代码,
那是程序员干的活,在一个小组里面应该至少有一个优秀的分析
员(小组的核心),而不是仅仅有一群程序员。在软件逐渐膨大
的今天,个人写大型应用系统是不大可能的,我们应该更注重合
作、集体作战。过于看重程序员对数据结构、算法的理解是否有
些偏激?还是大学教育带来的偏见?理解数据结构、算法的理论
对写代码是有好处的,但并不是写代码必须深刻理解这些东西,
学尽其用,可以在需要的时刻再学习那些,最重要的是学习能力
的提高。我现在工作所用的系统就上一些喜欢炫耀编程技巧的人
写的,他们为了图方便和显示一些技巧,而不顾总体结构,结果
现在看代码是很混乱的,修改和理解都很困难,而且,没有注解,
这倒应验了“好的程序员是不写注释的”,可是不利于系统的升
级,因为应用会不断的有新的业务需求产生,也会出现一些bug,
而人员在流动。如果系统分析做的好,程序员按照分析结果编写
思路清晰的代码,那么维护工作会容易一些的。

我觉得编写代码在完成任务的前提下,好得注重“可持续发展”性,
而不是你是否深刻理解了数据结构。 同意!写code的好坏与系统分析的高低有联
系但不是 充要条
件的。前面我已经写了许多文章了,也提到这 点,关键是否有大局观而不是对某
一技术有很深的
研究。

我认为中国的计算机教育是比较失败的,但不能把全 部责任都归咎于它。一个优

秀的程序员并不是靠学校 和课本就能培养出来的,关键是靠自己。美国其实也
一样,在学校中是不会教什么技巧和特别深的东西, 全都是基础。老师只会布置

一个教流行的课题给学生, 而涉及的内容在课本上往往是没有出现过的,完全
靠学生自己查找资料,在短时间内掌握。所以,自己 学不好,不能怨天尤人,先

找找自身的问题所在。

至于不写注释的程序员,不管他的水平有多高,若我 是做管理的,第一时间就不

会要他。这样的程序员也 不是一个优秀的程序员。拥有良好的写code风格,尤 其

是写注释,是相当重要的,对于一个团体的项目和 以后维护和升级的管理,比什

么高深的技巧更为重要! 中国存在非常之多的优秀程序员, 这是毫无疑问的, 可

说肯定不 会比外国少. 可是这些程序员又有多少是"教"出来的呢? 几乎全部 都是

自己的热情锻炼出来的.

另外, 我觉得任何一个程序员都应该具有很强的系统分析 能力, 而不能因为觉得

己的角色只是一个程序员而有所放弃. 计 算机技术发展的过程就是不断地把一些

局部的实现上的细节系统化, 宏观化, 也许你现在负责写的一个零碎的小模块, 小

件, 将来就 会发展成一个独立的, 宏大的体系, 例如由OLE到COM的进化过程就 是

如此.

还有一个对于优秀程序员的看法, 我觉得是最懂克制自己的程序员
才是最有创造性的程序员.

还有一点, 就是我觉得目前我们许多人都似乎对规模化的软件生产
过于入迷, 似乎觉得我们写code已经不输任何人了, 差就差在不懂
如何大规模开发软件上, 难道我们的写code水平真的到顶峰了吗?
难道我们真的不需要再提高了吗? 我的看法是: 其实我们还差很远!

我们暂时不要光把眼光放在一些超巨型的公司上, 其实即使是国外,
也不是所有公司都能如那些软件巨头那样规模化地开发软件. 我们
把眼光放到一些小处, 看看国外的freeware和shareware, 那些小东
西写出来不是用来赚钱的, 可是水平却通常相当的高, 体□
'7b很高的
写code水平, 而且遍地都是, 这起码可以体现在外国, 大众化的个体
程序员的水平如何, 我们的国内的程序员们, 难道你们真的觉得自己
的写code水平真的那么顶尖吗?

在国外, 许多优秀的, 庞大的软件, 都是由不多于10个人的开发小组
组成的. 例如3D Studio Max, 它的开发小组的成员包括原来DOS上的
旧版本的部份成员, 一两个从其他公司挖来的新成员, 还有大部份就
是邀请那些在Internet上为DOS上的3DS写freeware plugins的高手!
他们公布自己的软件的接口, 吸引爱好者和有能力的人为他们写扩展,
然后就从中筛选, 邀请当中的精英加盟, 加盟的人分布在世界各地,
不可能在同一时间和地点办公, 他们通过Internet协同工作. 这样的
开发环境下, 统一指挥显得困难,个人的能力就尤其重要了. 试想一
下, 假如不是每个人都同时具有高超的写code能力和系统分析能力,
这样的合作方式可能吗?

其实我觉得每个人都该有这样的想法: 技术永远是不够的, 何况写code
和系统分析本来两者就是相辅相成的, 最高效率的提高方法就是两者
一起去学. (假如你觉得写code只是掌握如何去使用API那你其实就还没
懂写code) 认为谁谁谁不懂写code就可以干得很好那只是懒惰的想法.
想抄捷径最终还是要碰钉子的.


非常同意。
我是从修改别人的程序开始我的 C 生涯的。整整一个本科设计周期。
我对不写注释,和坏的codeing习惯深恶痛绝!

这些和程序员的素质有关,也和管理的体制有关。
在我现在的小组,领导让我做系统,但我没有权利!很多成员是野路子半路
出身,也不听我的建议。这是没有办法的事情。而领导急功近利,我们没有
培训,也不重视文档。。。

是否换个地方?
我非常理解YW的意思,几乎没有那个程序员天生就有很强的系统分析能力,
这些都需要去学习和修炼的。我记得以前我的老板曾说过这样的话:“我们的
程序员(指我当时在的公司)就象一帮土匪,冲上去一顿乱砍,偶尔也能消灭
几个敌人;职业的程序员就象职业杀手,一枪一个。“
土匪终究要变成正规军,否则编程是一种永远的痛,折磨人的肉体,消磨人的
精神,no money, no ...。


我个人觉得, 其实中国的教育制度下, 缺的其实不是对分析能力的培养.
偏偏缺是对写code能力的培养, 大学的各门课程里, 又有哪一科是教人
写code的? 难道你真以为学完了那些C++或者OO的课程就算是懂得写code
了? 大部份的计算机系学生其实不懂写code, 对算法, 对数据结构, 对解决
问题的敏锐程度上都还处在很菜的水平上, 就更难提高到系统分析的层面
上来了. 作为一个程序员, 他因为职业而带来的思维上的优势就是在于分析.
对问题的数学模型, 对寻找解决方案方面的分析能力.

大学里其实有许多很系统性的课程, 可是, 我认为写code的能力和基础的不足,
使得许多学生对这方面的知识都吸收得不全面.

花一个学期去学C++, 难道大家不觉得这本身就是极荒唐的事情吗? C++
只值2个星期的时间.

我个人认为, 只懂写code, 不擅长系统分析的人是很少的, 要么其实他写code
写得还不过关. 另外对于一些成功的系统分析人员, 千万不能因为不需要他
去写code就认为他不擅长写code. 即使工作不需要他去写code, 可是能写code
绝对会使他更胜人一筹.


呵呵,你的真言一针见血,成天大论的人其实是心里发虚,而有自命清高的,
其实中国的CODE高手实在太少了,差的远。
一个好的CODE高手如果连自己的分析和逻辑都理不清楚他也不会成为CODE
高手的,你完全说出了中国教育上的弊病,我就觉得奇怪,那些老师讲的头头
是道,可许多写CODE有问题,我喜欢讲实际的,计算机这东东是一分教九分是
自 己 思考,自己努力,练出来的,没有扎实的编程功底,根本谈不上什么系统
分析, 只能 是纸上谈兵,不过现在这种人太多了,我不想和他们争论什么,可
跑也没出跑,哈哈,我被包围了。


软件公司的规模很难从公司的人数和资金上来判断.我认为软件公司的规模
应当以其员工头脑中的专业知识而定的.就应用软件而言,不只软件方面的专业
知识,而且还有应用领域的专业知识,比如财务软件的财务知识.
编程越来越自动化,在开发中的相对工作量越来越少,而应用领域的专业知识
比重越来越大.对于某一家公司而言,具备各个领域的顶尖专家,似乎不可能也没
有 必要.对于以后越来越灵活的软件定单,只能对外求购专家.既然如此,"小"公司

也 可以这样做. 那么只剩下一个最重要问题是: 软件专家如何与应用领域专家
合作? 往往最难解决的问题也是最值钱的关键工作.我认为软件专家与应用领域
专家合 作的程度将是一家软件公司最重要的财富.
我自己也晕了. 改天再续.

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

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


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

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