很多年前,大概还在高中的时候,语文老师带我去参加一个作文竞赛的讲座,台上是一个作家(和我们语文老师有些交情)正在讲关于作家成长中的若干问题,下面的人有很多的文学青年,自然都是多多少少发表过一些文章的牛人。当时我还比较懵懂,不过是和老师一起看热闹的学生而已。当时那位作家说,在座的各位都是很有抱负的青年,但是你们中间能成为作家的有一个两个的就很不错了。当时那些文学青年颇有些不以为然。因为在他们这些已经有了成绩的人看来,作家也不过如此。
  很多年过去了,我也不再是一个学生了,事实正如那位作家所料,其实比他说的还糟糕。我也早就不写作文,而是改写程序了。在写程序的过程中我又想起那位作家的话来,其实世界上有很多东西本来就是相通的。
  正如作家所讲的一样,其实程序员成长最危险的时刻不是在你什么都不懂的时候,而是在你懂了一些的时候。开始的时候,你觉得什么都不懂,于是你天天看书,通宵编程。后来你懂了c了,算法数据结构操作系统在学校也学了,用VC 写程序时你边看MSDN边用MFC,觉得感觉还不错;你用Delphi甚至做了一个个像模像样数据库的项目了。至于COM,你懂了一点点,说起来头头是到,虽然没用过。标准C++嘛,你在大学学过基本的C++,工作时用VC,什么继承,虚函数,const,引用,模板你也都用过了。你也听说过设计模式,用过最简单的单件模式什么的,虽然还有很多你不懂的。有的时候你觉得操作系统很有意思,你还写过些多线程的控制系统的东西。可是现在你反倒觉得你什么都不会了,看这别人用VC 写的大系统,你觉得很写的很好,可是你不知道怎样达到那样的水平。你觉得你有很多的东西都不懂,可是你不知道怎么学得更好,有的时候你对编程序都快没激情了,于是你也跟我一样到了程序员成长最危险的时刻。有些朋友觉得已经可以混到饭吃了,就不再努力,这样就危险了!
  有诗曰:“山重水复疑无路,柳暗花明又一村”,怎样突破这个瓶颈,到那柳暗花明又一村处,希望大家过了这个阶段的谈谈经验,学习方法,没有突破这个阶段的发表一下自己的感想。

解决方案 »

  1.   

    转贴一个高手的文章,不过是Delphi 的 
                                           乱谈程序设计 
          其实我在程序设计方面也是个新手,但经常有网友写信来问经验。于是只好谈谈自己的一些浅薄“经验”---其实也说不上是什么经验,就当是乱谈吧。
          首先假设你有过DOS下的程序设计经历,或者你至少用过别人设计的软件。有这个条件,够了。首先,你到书店买一本入门之类的书,在自己的电脑上对着书来把代码敲进去,于是你就会感觉到有一些小小的成就感。但这毕竟是别人写的程序啊,于是不服输的你决定写自己的程序,不过又发现自己懂的实在是太少了,但你相信别人能做到的自己也能做到。于是你就会去找更多的资料,通宵达旦的看,练。慢慢的,你终于能看懂书上那个程序了,并且发现那个程序实在是太差了。于是你就重写了一个功能更完善的。如果你有以前写的程序,拿出来,用现在学的语言重写一遍。然后,把世面上流行的软件拿回来,自己试着模仿写一个功能差不多的(我以前就是照着解霸写多媒体精灵的)。到这里,你可以说已经摸着门了。(我目前正处于这个阶段)
         继续学下去,你可能有一段时期对自己感到满意了,觉得程序设计也不过是那么一回事。如果你停在这里,那么你就完了。如果你发现自己有这样的情绪,就强逼自己学下去,故意找些难的程序来设计,你就会发现自己懂的实在是太有限了,简直是浅薄得可怜。于是你就会继续学下去。当然,也有可能你已经对它深深着迷,那就不用如此辛苦了。
       记着,搞程序一定要对它感兴趣。你不爱它,它也不会爱你的。然后,你要有坚强的意志。如果你可以做到这两点,那么你已经成功了一半了。
       接下来,你试着把自己设计的东西给身边的人用,厚着脸皮也要。叫他们提意见。因为一个好的程序,不一定在于它功能的多少,而更重要的是它的强壮性。一个人无论如何调试,总会难免有想得不够完全的地方。而且可能一个程序在你的电脑上运行没有事,一到了别人的电脑上运行就弹出一大堆让你难堪的错误窗口。你还可以学我,把它投到某些电脑杂志上,或自己的网站上,让更多的人帮忙调试。对这些人提的意见要象听情人说话一样虚心接受。然后改进。
       在上面的阶段,可能你的程序能完成很多功能,但代码很乱,别人看不懂,又或者很多多余的语句(你们看看多媒体的精灵的代码就可以体会到)。于是找个时间好好整理一下,你的水平又会提高一些。
       另外,最好一开始就养成良好的习惯。比如说写完一个Begin后立刻写一个End.然后在它们之间写自己的代码。
       接下来,你就会对“程序本身是怎么样工作的”感兴趣,就会继续学习操作系统、编译原理等等比较底层的东西。然后又会发现有不懂的地方。就这样,慢慢地,你凭自己的努力,终于学会了程序设计,同时练出了坚强的意志,呵呵,真是一举两得。
       另外,学编程也要全面一些。有些好的老师,他讲课不但讲课本,还讲人生处世哲学,讲各个方方面面,听他讲课简直是一种享受。如果他没有丰富的社会阅历,没有全面的知识,是没有办法做到这一点的。我们搞程序设计的,也要学习他。比如说两个功能一样的程序,一个界面好些,一个界面差些,客户肯定用那个界面好的。要做到这一点,只懂书本是不行的。另外,说句题外话,如果你想以后能成功,除了学程序设计,还要学人际,学市场分析,你设计的软件再好,如果大家不需要,那你白搞一场。只懂技术的永远处于比较底层。记住,程序设计永远是为别人设计的,一定要站在用户的角度想问题,你的程序才会受欢迎。
      最后,列出我自己用的所有工具书,希望对大家有些帮助:
      1、《DELPHI4.0入门与提高》(清华大学出版社)¥34.00 个人评价:不推荐。没钱只能买它,否则买贵一点的,全面一点的。特别是翻译外国的。
      2、《Window95/98中文版注册表、配置与应用实例》(曹国钧 王健编著 清华大学出版社)¥49.00 个人评价:推荐.可以了解Windows很多内部的东西。我就用它模范Maget Set写了一个软件.
      3、《新编Windows API参考大全》平(张争 审校 电子工业出版社)¥98.00  个人评价:强烈推荐!Windows程序设计必备!
      4、《DELPHI5程序设计INTENET应用实务篇》(中国铁道出版社)¥41.00 个人评价:推荐 我搞网络程序的入门书。也是我手头上唯一一本讲网络程序设计的书籍。
      5、《TCP/IP MCSE学习指南》(清华大学出版社)¥43.00  个人评价:推荐 对学习网络编程有莫大帮助。
      6、《Windows Sockets网络程序设计大全》(清华大学出版社)¥29.50 个人评价:推荐 上个星期我不吃饭省钱买的。
      其它还有一些UNIX操作系统方面的书,不再列出。 
      

  2.   

    同意realdreamer(楼主英明,贫僧久仰大名,特来拜见) 的
    端正自己的思想,你会有源源不断的动力。
      

  3.   

    不断的学习,不断的进步,不断的codeing...
      

  4.   

    My heart will go on...
      

  5.   

    楼主说出了我的心声。我从正式学习编程到现在已经快5年了,开发经验也有3年多了,也干过一些大的项目。说实话,什么东东我都搞过,有多媒体,有WINSOCK网络编程,有ERP,有记费系统,有电信行业增值业务等等,用过的开发工具也很多:VB,VC++,C++ BUILDER,C#。
    可是越到现在我越发现自己越来越迷茫,不知道自己到底该往哪一个方向发展下去,也就是说我现在什么都懂一 点,但什么也不精通。我今年已经24岁了,再过几年如果没有自己的一个技术特长方向,是很危险的啊,我时刻的感受到了这种压力。
       我现在房子也没买,第一个女朋友也分手了,第二个女朋友又太缠着我跟她结婚,可是我没钱,心里烦的要死。我不知道这种日子是不是只有中国才会有,别人都说国外搞软件的起码买个车子是没问题的,可我呢?哎,真累啊,想我以前是多么的意气风发的进入到自己热爱的软件开发这个行业里来,结果没过几年,自己就变的疲惫不堪。在公司里面人际关系的冷漠让我简直无法忍受,感觉整个公司就我一个人一样。成天就是对着电脑。回到家里跟女朋友都不想做爱了。我还很年轻啊,才24岁啊,为什么别人24岁是那么的青春,而我呢。真是烦恼?!!!!
      

  6.   

    我也很迷茫。学习没有激情了。我整天用vb和asp写,工作没有什么技术可言。工资当然很低。我不只是迷茫我会不会在软件业有所成就,我更怀疑自己能不能做一个自立的人,能不能赚足足够的钱买房结婚和赡养父母
      

  7.   

    vc什么都可以做,担学vc也不是一定要面面俱到
    选一两个方向坚持下去,前途大大的有!
    否则,挥刀自宫 也学不完那么多东西 :)
      

  8.   

    刚到这个阶段。
    我所在的公司有个惯例:分配人手的时候项目负责人自然是找该方面有专长的,其它人员就随便选,甚至专门找不懂相关技术的。象我这VC出身的已经Linux、PHP、XML、ASP转了一圈了,好处是长见识,开阔视野,很快就能带出一批什么都能挡一挡的人;坏处就是什么都浅尝辙(不会写这个字)止,来不及深入研究就转到另一方面去了,兴趣也不高。现在每晚躲宿舍悄悄看C++ Primer,不知何时能出头...
      

  9.   

    希望程序员杂志能做个专题!
    ===================================================
    Digit Pro space  欢迎您
    http://www.dpspace.com
    有什么问题到论坛上发表,我将尽我全力为您解决
    论坛欢迎高手注册加入,让我们共同进步
      

  10.   

    gz不过楼主说:“用VC 写程序时你边看MSDN边用MFC,觉得感觉还不错;”
    我想问问,你看MSDN主要看些什么? 那里只有一些MFC类的介绍。但是没有具体的例子,我怎么看MSDN都看不明什么东东,我更郁闷。
      

  11.   

    Nothing just you want!!!!!!!!!!!!!! 证明一下自己的存在!!!!!!!!!!!!!
      

  12.   

    作为一个专业级别的VC程序员真的很难,在我心目中除了象台湾VC大师 侯俊杰 前辈那样的人可以说是对VC++有独到之处,我觉得没有人敢说自己是完全懂了VC的,我学习了2年的VC刚刚开始的时候很有点自以为是,在同学面前,我夸夸其谈,我会汇编和VC的混合编程,我会VC的动态连接库开发,我会VxD的驱动开发,我明白VC如何和Java接口,我知道适时的视频传输程序的开发,可是知道这些又能怎么样呢,我现在在些一个实际工程的时候,我还是常常感到束手无策,不知道为什么,也许这真的就是学艺不精的原因吧,所以我自我感觉要想突破这个难点,关键在于知识的精,不是在于知识的单纯的广博,一个人的经历是有限的,不管这个人学了多少年的VC程序开发,我相信他一样会遇到想我这样的问题,就像一次一个研究生在网上问我关于VC的问题一样,我是一个大学生,现在还没有毕业,所以我的观点主要就是2点,首先 学习抓重点,其次 学习抓专题,自己多动手,遇到问题一定要多动手自己解决最好,谢谢大家
      

  13.   

    steelbridge() :
    我也很迷茫。学习没有激情了。我整天用vb和asp写,工作没有什么技术可言。工资当然很低。我不只是迷茫我会不会在软件业有所成就,我更怀疑自己能不能做一个自立的人,能不能赚足足够的钱买房结婚和赡养父母steelbridge() 我和你一样,可能比你还惨,虽然我坚持学习vc一年多了,可是还是不能转行,压抑的不得了,要不是我没钱吃饭,我早就辞职了,现在看到以前写的web程序就想吐。
    希望高人指路。
      

  14.   

    我现在在学8086,没问题,从头来过。
    我一起的一个刚毕业的新人,整天拿本vc++实战,很奇怪的看我学的东西。
    但是我从8086,学到了很多解决问题的方法,从8086,80286,80386,80486发展的过程,了解cpu发展的趋势,后一代是如何修正前一代的问题。是加补丁,还是彻底推翻。
    结构是越来越复杂,分工越来越细,可以很清楚的看到系统变化的过程。对于系统分析实在是很重要的一课。
    绝大多数道理,都在课本上。回去翻课本吧!
      

  15.   

    good good study!
    day day up!
      

  16.   

    study!study!study!study!study!study!study!
    very good!
    up!
    gz!
      

  17.   

    学习软件工程吧!比如UML、OO、RUP、Design Patterns、System Architecture等。
    有了这些基础,在加上某个应用方面有自己深入的体会。你才会有思想。
    才有可能写出优秀的大系统。