编程的奥义

来源:互联网 发布:阿蒂仙 梵音藏心 知乎 编辑:程序博客网 时间:2024/05/01 07:18

编程的意义,不在于熟练地掌握一门编程语言,不在于挑战高难度的算法,而在于“应用”。

一段程序,只有当被用于解决实际问题时,才接近编译的本质。

当遇到难题时,用一种程序的思想去解决问题,这就是程序员。程序员,亦是一个熟练掌握各种应用软件的电脑老鸟,但是在使用各类应用软件解决实际问题时,总有个效率的问题。解决问题的效率,是评判一个应用软件是否成功的关键。

通用的应用软件,意在解决大部分用户的应用难题,所以包含了各种各样的繁杂的功能,可供用户使用并解决各类应用难道,提高解决问题的效率,它好比是某个专业领域的专家,然而,正因为软件所以包含的功能至多,造成了在解决某些细节问题时,有一个效率降低的问题。

举个例子来说,做一个投票计数的记录器,当然可以用EXCEL来做,示例如下:

_____________________________________

|       参选人甲    |      参选人乙      |      参选人丙     |

------------------------------------------------------------------

|      0 票             |      1 票               |      2 票              |

-----------------------------------------------------------------

EXCEL这类的软件,我统称其为通用型应用软件,因为其设计理念是解决大部件用户的大部分应用难题,提高大部分难题的解决效率。

但是,上面一个例子在实际应用时,就出现效率的问题了。当参选人甲增加一票时,你如何修改“0 票”这个数据呢?首先,要选中相应的单元格,然后修改其中的内容,比如输入字符“1 票”将“0 票”这个数据覆盖。然后,当参选人丙增加一票时,用户要移动光标位置到相应的单元,再次输入相应的更新后的字符数据。但是,这样一来,操作的效率显示比较低,用户或者移动鼠标或者按键盘方向键,然后往键盘上打字输入更新后的字符数据;当更改其它单元数据时,重复此操作。

为了解决通用型应用软件在解决某方面问题时效率低下的问题,从程序员的角度出发,不是想方设法弄清楚EXCEL软件中是否有更好的更高效的处理方法,也不是墨守成规式地忽视效率问题被动地接受EXCEL软件在这个方面的处理短板。

为了解决通用型应用软件在解决某方面问题时效率低下的问题,从程序员的角度出发,应该是怎样呢?程序员的第一个想法,应该是——我要做一个软件,解决这个问题,提高问题的解决效率。是的,学习的目的不就是于“学以致用”吗?学了,懂了,就要会“用”,而且要“用”得好,“用”得对!

很多人学了多年程序,但是一直没有多大的成绩出来,纠其原因,我想大部分还是因为其不能将所学学以致用!

用VC编写的一个小软件,将单元格显示记录数据的方式,改为按钮方式,当数据增加时,用户只需要点击相应的投票按键,省去了打字更新数据的繁琐操作,而且采用图形可视界面代替表格界面,使数据更直观。附上软件的效果图,如下图所示: