- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
从语言进步到编程
殷 明 慧
ymhui@21
在培训的授课阶段即将结束之际,趁脑子还比较清楚,总结一下课堂上向大家灌输的编
程思想。现在看不太懂也没关系,等大家积累了一定的开发经验和编程思考,再回过来头来
看看这些内容。或许你会有种“蓦然回首,那人却在灯火阑珊处”的感觉。由于时间匆忙,
文中讲述不恰当的地方还请各位读者拍砖。
1. 语言和编程本是两码事
分不清语言和编程的人,估计很能学得好编程。
1.1 盲从技术只能让你晕的更久
和其它事物一样,软件编程的发展也经历了从低级到高级的各个阶段。从机器代码到汇
编语言,从汇编语言到高级语言,从高级语言到封装完善的编程框架,以后肯定还会出现更
多高级的语言或是编程框架。
作为学习者,在初涉软件编程领域时,常常被众多的语言搞昏了头脑,被众多的编程框
架折腾的晕头转向。在找不到软件编程规律之前,他们只能跟着所谓新技术走。正所谓 C
不流行了,要去学 C ++;C ++不流行了,赶着学JAVA ;MFC 框架封装的不好,赶快去
用.NET 框架吧;还有太多的太多的名词,太多太多的中间件技术。某天在与一位程序员聊
天时,他感言到:“现在的编程,就是数据库和网络,其它的都没什么用!!”。是啊,连有经
验的程序员都这么说,更何况那些没有编程经验的初学者。他们唯一能做的就是,什么新学
什么,什么好学什么。到底,什么是新,什么是好?谁也说不清楚,倒是网上总有类似的大
讨论,比较 C ++和JAVA 的先进性,比较VC ++和BCB 优劣性。在这里,我只想告诫同
学们,盲从只能让你晕得更长。
1.2 语言和编程其实两回事情
那么什么是编程?什么是好的编程?如果同学们能理解了这两句,我想你会发觉盲从编
程新技术是一件很可怕也很可笑的事情。编程说到底就是向计算机说明一件事情,让计算机
按照你的意图去做这件事情。事情的复杂性决定了说明的难度,即决定了编程的难度。编程
的好坏其实就是说明事情的水平高低,如果你把事情说明的简明、扼要,而且还能为将来留
有余地,那么你的编程就是好的。
语言又是什么呢?语言是人们与计算机交流的工具,人们借助编程语言来描述和说明要
安排给计算机的事情。可见,语言是死的,编程是活的。前几日在网上发现一帖,把语言比
作兵器,一个很生动形象的例子。对于不会编程的人,给他再好的兵器都是白搭;对于会编
程的人,给他一把好兵器那是如虎添翼。《VC ++编程技术与难点剖析》一书把语言比作猎
枪,试想给你一把上等猎枪,如果你不会打猎的话,一样是一无所获。
可见,语言是形,编程是意;编程是语言的内在精神,语言是编程的外在载体。你把语
言规范学得再好,如果不会编程的话,你依然会觉得茫然不知所措。当你领悟到编程思想时,
1
你会发觉,其实用C语言也能写出面向对象的程序 。
1.3 语言靠学、编程需悟
回首十几年的英语学习,我不禁汗颜,除了背得一些单词,记住一些语法外,我张口还
是说不出一句完整的英语句子来。一个深刻的体会便是就是不知道该怎么说英语。我想大部
分同学对于软件编程的感受也是类似的,给你一个编程要求,即便你掌握了所有的 C ++语
言规则,你还是觉得不知道该怎么编,不知道该从那里下手。
正如前面所述,语言是死的、是形。它是由一系列关键字和语法规则组成。掌握这些关
键字和语法规则并不需要太长时间,因为这些内容远比英语单词要少的多的多。这部分内容
是容易讲授,也容易被学生掌握。
关键字和语法规则是死的,但是如何灵活运用这些规则、综合这些规则确是活的。而这
些正是编程真实含义所在。因此,运用语法规则描述一件事情其实非常复杂,实现功能只是
最基本的,之上还有运行效率问题、扩展性问题、可移植性问题等等。同学们在学习编程时,
一是需要老师在课堂上引导,但老师的引导只能是启发大家的思维,激发大家的思考;更多
的还是今后在实际工作中的经验积累和不断的思考。不管是自己写代码,还是看别人代码,
你只要思考清楚如下几个问题就可以了:
1)为什么要这么设计代码,这样设计有何优点;
2 )导致这些优点的原因是什么;
1 网上有“C语言的面向对象编程”的资
文档评论(0)