编程感悟

编程感悟

      毕业设计挂在嘴边已经有一个半月了......说来惭愧!我的项目却基本上还没有怎么动手!汗。。。都不知道怎么计划的,一开始雄心勃勃,计划着要在多少天以内怎么样怎么样......哎,说起来容易,做起来难!或是本来不难,但于我而言,却非同小可了。
      我并没有偷懒,只是我的方式出了点问题。我喜欢简单复杂化!毕业设计的重点不在bt设计上,而是在论文上,这点导师已经说得很明白了,可我还是一直幻想着追求完美,想设计一个perfect version。无知的表现,无语!项目的第一步——可行性分析就已经出问题了,接下来就是项目的逾期、无限拖延,直到Bankrupt!
      其实,我们并不是没有实力完成bt客户端设计。谭苗青就是一个很好的例子。他一开始便意识到了这个问题,于是一直把时间抓得很紧,更重要的是他选择了他最拿手的工具,java——这很关键——用java来开发网络软件最适合不过了!而我却一直想着,C和C++的效率很高,而且C和C++的网络开发自己都没有接触过,选择c这个方向会很有收获。放屁!收获已经看到了!!!就是开学到现在的一个半月里来,我不得不花大量的时间去看C和C++的网络编程!这就是从零开始的结果!可以说,如果这个项目会失败的话,最大的原因就是没有选择我最拿手、最合适的工具——java。
      从项目的角度看,我是个不折不扣的失败者。但从学习的角度来看,我想我还是有所收获的。为了熟悉C和C++网络编程,我翻阅了很多书籍,找了很多资料。看我桌子上的那一堆书也就知道了,虽然都没怎么认真看(汗!)。同时,为了开发高效的bt(最少我是这么想的),我一开始尝试用VC++,虽然最后放弃了,但这起码让我懂得了什么是VC++、什么是MFC。在尝试VC++失败后,我改用VB结合C网络内核开发的方式(就是用VB开发界面,用c写网络内核)。这种方式导师的赞赏,他也建议我采用。这种开发方式对我来说的第一次。第一次总能让人学到很多东西的。也确实,我获益不浅。除了很明显的编程技术,比如怎么用VC++生成dll文件,怎么在VB中调用,怎么协调之间的数据类型传输等等,我还深刻的体会到——语言不过是工具这句话的具体含义。语言不过是工具!不同的项目,不同的环境,不同的程序员该有不同的选择。对实时性要求、执行效率要求高的,或是是对硬件底层进行开发的项目,C是不二的选择;对用户界面要求美观、友善,且要求快速开发,确实,VB或DEHPI会是最好的选择;如果要网络编程,java是最好的选择!就像李开复博士常挂在嘴边的:It depends ......
      确实,我没有选择最合适的语言来开发项目。最近,我的项目进入实质性的阶段(这实质性阶段不是软件工程或项目管理上所说的,只对我而言),也就是进入编程阶段。这让我很有体会!
      虽然很早就意识到C是个错误的选择,但为了坚持自己一开始的立场,我一如既往,丝毫不动摇用C的决心!于是,我开始了bt项目的第一步——先对.torrent进行Bencode解释。问题来了!由于参考的那些资料,都是用对象进行分析的,而且很多接口都是用对象写的——用C很难进行无缝连接!郁闷!更郁闷的是,对于becode分析,我想到了一个很好的解决方式:用STL的容器。我于是花两天熟悉了STL的相关知识。可到编程运用的时候,我发现我的C数据类型无法都封装到容器里,需要对象的支持!无语!于是我重新用C++设计类、对象......
      这几天下来,唯一的感觉就是SUN公司真他妈的伟大!C++的设计者都是一群猪头!现代的软件开发设计都是面向大型项目的,开发大型项目最重要的就是方便构架、方便团队合作、方便管理、方便维护...。那种天书一样的编程,那追求最高执行效率的编程年代早就过去了!都二十一世纪了!C++让程序员把精力都集中在那琐碎的机制上,那还有精力理其他的!无疑,在这方面,JAVA是最聪明的。用JAVA开发很轻松,因为它替程序员做了很多本不属于程序员做的事,还有它那丰富的API接口!难怪JAVA会成为现在最流行的开发工具。也难怪何建整天在JAVA!
      当然,问题的根源在于自己。想想自己用C++编程才多久!想想自己从学电脑开始到现在总共写的代码才那么可怜的一丁点!想起一个IBM的高级官员说的,大学生在大学四年里,最少要有上万行有质量的代码!Realy pity!难怪的!都没有熟练掌握C++,凭什么资格评论C++!其实,C++是最伟大的!伟大得太复杂了!伟大得太深奥了!伟大得程序员很难接近!而JAVA是多么的平易近人!
      上学期有个刚来教书的老师,比较年轻,他教我们DEPHI。我问他,你们开发项目是怎么开发的。他的答案中有一点是:还不就是Ctrl + c和Ctrl + v,网上有太多现成的了,且都比自己开发的要好,省时省力啊。无语!这年头,真正有实力编程的人又有多少!况且,什么叫实力呢?标准是什么呢?!老师说得对,这年头编程技术是如此的成熟,成熟得让人很难在技术上有所进步,有所突破。“别傻了,你以为你是Bill Gates啊?你以为你可以写出什么来?写个新的协议?新的算法?”人,还是得现实点!难怪这年头Ctrl + c和Ctrl + v如此盛行。
      源代码是个好东东!相信所有的程序员听得最多的一个建议就是:多阅读源代码。确实,无论你是起步者还是有几十年编程经验的前辈,阅读源代码都是最好的建议。因为源码都是前人智慧的结晶,又很多值得借鉴的地方。源码就是牛顿脚下的巨人。但并不是所有人都可以想牛顿一样爬到巨人的肩膀上的!源码并不是万能,它也有利有弊。最明显的一点就是,它让程序员不劳而获。最严重的后果就是让Ctrl + c和Ctrl + v成为习惯,这会让程序员失去其生存的本能!人脑就是一台机器,你不让它转动,很快就会生锈。这道理谁都懂!

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值