一、前言
本文章取名《编程意识》,自然与“编程”和“意识”密不可分,而“编程意识”正是作者编程过程中积累下来的财富。切入正题,下面我尽量以最明析的语句来表达我要表达的意思,以求大家共同得到这种“编程意识”。
也许看到《编程意识》这个题目,大家会有一些茫然,会将其与编程语言混为一谭,其实本文章是我对那些并不是太懂编程的朋友们的一些个人建议,实属一家之言。
但时我的方法的确是有效的,至少在我是这样。
本文中要讲的内容:
第二部分:讲述一些基本理论
第三部分:分析编程意识的形成过程
二、讲述一些基本理论
我,妄自给编程意识下一个定义:
所谓编程意识,就是人们在编程过程中自然产生的类似条件反射的自然意识。
此言何解?要说明白问题,得先从程序的几个特点说起,在这里,在下冒然为不了解程序的朋友扫一下盲,申明几个概念与道理。主要作用是打破初学编程人员的心理障碍。
一、程序员不是神,程序是人编的
解:
我想这个问题在我们中间存在极广,其大致的情况体现为人们在使用计算机的过程中,对某些程序产生的错误表示无法理解,认为凡是程序就应天衣无缝。
答:
其实这是一种极错思想,程序本来都是由象你我这样的人编写出来的,怎么会没有错误?况且天下孰人无过?知错能改,善莫大焉!一个大程序的错误可以千千万万,象WINDOWS这个程序,它的BUG何止千万,WIN98打了无数补丁还是难逃死机的命运。而世上又有哪家公司比微软更有编程实力?所以其它程序的BUG应当更多,只不过多数是良性(破坏力小),或隐性的(要一定的触发条件),不易发现罢了。
注:BUG-程序错误
二、电脑不是万能的,但没有电脑万万不能!
解:
有好多人认为电脑是万能的,当然这是从心理上讲,他们认为电脑是高科技产品,就算不是万能也能做许多事。
答:
电脑并不像我们想像的聪明,反尔:“电脑一点智商也没有!!”
何出此言呢?现在电脑所做的每一件事都是“人”让他去做的,但这里的人不是“你”,而是编写程序的程序员,让它做,也不是简单击几下键盘鼠标就OK的操作,而是程序员在编写程序时预备下了程序从而“让”电脑去工作。
有好多人认为(是想当然认为,已固化在潜意识里的),写的程序不会错,程序写得已经很明白很简单了,电脑大概都会明白,其实这也许就是误区。我们高估了电脑的智商!电脑的智商不比一个1岁小孩强,举个不甚恰当的例子,我们怕“小孩”走失,会告诉他怎么回家,他可能会走错。但如果我们告诉电脑怎么回家,那会怎么样呢?---吼吼电脑根本不会动,因为每一次让他动我们都要教它一次走路,而教它走路要先教跨步,教跨步要先教如何动弹!小孩你告诉他一两次就会记住如何回家,但电脑永远不会记住,每次我让它回家时,要先教动,教跨步,教它走路......
如此将电脑说得一无是处,但生活中的电脑为什么不是这个样子呢?其原因如下:电脑运行速度很快,瞬间就可以学动,学跨步,学走路-然后完成路程。而教它的就是程序员所写的程序。
三、程序员是神,程序是神迹
解:
看起来此部分与(一)中问题冲突,其实不然。程序是程序员造的,程序员是可以造万物的。
答:
引入这个问题,笔者只想证明一件事:计算机、网络是程序员的天下,程序员就这里的神,计算机世界本来什么也没有,一天,一位叫比尔的神说:要有一个方便所有人的世界-于是有了DOS。又一天,一位叫求伯君的神说:这个世界应该有中国人自己的东西-于是有了WPS。又一天,一位叫蔡明宏的神说:太无聊了,应该有点娱乐的!-于是轩辕剑1诞生了。
在这个“神”的世界,“神”可以创世,生万物,而“你”就是那个神,只要你有想法,你知道你要什么!那个东西就会出现了,这就是编程。
四、术语骸人
解:
不少人在编程中被术语及海量的英文,不知义的词语吓倒,佛祖救一下他们吧!
答:
你如果学一门语言,术语不会超过20,关键字不会超过30,你认识其中90%
你如果学多门语言,术语基本全相同,关键字相同80%
还难吗?
我们来看一下下面一句:
Set db = sj.OpenDatabase(filen, False, False, ";pwd=" & mima)
有点看不懂是吗?这是数据库编程其中打开数据库的句子
你应该认识所有的词,不信?
Set--设置,你初中要不会这个我都看不起你
db--database-data,base数据,库
sj--数据,这是拼音啊
.OpenDatabase--打开数据库
filen---file认识吗文件,加个后缀N为了和系统固有词区分
False---假
pwd--password-密码
mima--同上 拼音
(ps:当然,并不推荐采取这种拼音和English混用的方式,本例只是为了说明一些简单的命名方法^^
追求统一风格与遵寻标准也是很重要的)
看过这些你明白了吗?其实编程语句并不难,编程者都不会去用高深、无意义的词语
所以你看不董的原因只有一个----你没有用心去看!
其实只要多花一点时间,很多事就会解决的。
五、概念引正
有的事情要重复说一下
1、VB、VC、BC、VF、VB.net 是工具不是语言,也许这样说你就会知道为什么一整天拿着本VC,就是看不进去了吧! 去学C++吧
2、语言无所谓,关键是顺手,能编出你想要的。(世界上没有什么语言绝对好,因为没有人能了解所有语言,而语言互有缺失,不要再说“VB不行了,我要学VC”如此的话,它们是相通的没有什么行与不行之说,windows还能用C编呢是不是?)
3、反编译,这个问题说一下:除了网页编程与XML编程等少数开源编程以外,余下的语言编程编译后的文件一般(其它就是破坏人家知识产权的违法了)是不可能再被转为源代码的,木已成舟,何复讲焉?
4、说明书运用:MSDN很好,不用别的了
5、程序员操守:是个大问题,美德,不必多言,如果感觉别人都不喜欢你,一定要多多自检
6、快速提高编程水平:不是看别人的代码照做就行的,要看别人的程序自己想代码!这才是真正的编程意识!
三、编程意识的形成
那么编程意识到底是怎么形成的呢?
其实,它就像我们吃饭、睡觉以及生活习惯一样,已成为一种无意识的动力。
这是不是一种矛盾呢?(编程意识是一种无意识的动力)
其实这并不矛盾,就好像自卫,人的自卫是一种意识,但这种意识是可以在无意识下前产生的。也就是说编程意识如果成为一种条件反射的话,那才是真正的编程意识,而我们正在向这个方面发展。
我另一方面认为,其编程意识是一种意念。
所以这里还要强调一下程序员的作用,程序是从程序员的意念生出来的,所以以程序是程序员的内心的一种表现,好似一种作品一样。
查看本文来源