编程的奥义
来源:互联网 发布:阿蒂仙 梵音藏心 知乎 编辑:程序博客网 时间:2024/05/01 07:18
编程的意义,不在于熟练地掌握一门编程语言,不在于挑战高难度的算法,而在于“应用”。
一段程序,只有当被用于解决实际问题时,才接近编译的本质。
当遇到难题时,用一种程序的思想去解决问题,这就是程序员。程序员,亦是一个熟练掌握各种应用软件的电脑老鸟,但是在使用各类应用软件解决实际问题时,总有个效率的问题。解决问题的效率,是评判一个应用软件是否成功的关键。
通用的应用软件,意在解决大部分用户的应用难题,所以包含了各种各样的繁杂的功能,可供用户使用并解决各类应用难道,提高解决问题的效率,它好比是某个专业领域的专家,然而,正因为软件所以包含的功能至多,造成了在解决某些细节问题时,有一个效率降低的问题。
举个例子来说,做一个投票计数的记录器,当然可以用EXCEL来做,示例如下:
_____________________________________
| 参选人甲 | 参选人乙 | 参选人丙 |
------------------------------------------------------------------
| 0 票 | 1 票 | 2 票 |
-----------------------------------------------------------------
EXCEL这类的软件,我统称其为通用型应用软件,因为其设计理念是解决大部件用户的大部分应用难题,提高大部分难题的解决效率。
但是,上面一个例子在实际应用时,就出现效率的问题了。当参选人甲增加一票时,你如何修改“0 票”这个数据呢?首先,要选中相应的单元格,然后修改其中的内容,比如输入字符“1 票”将“0 票”这个数据覆盖。然后,当参选人丙增加一票时,用户要移动光标位置到相应的单元,再次输入相应的更新后的字符数据。但是,这样一来,操作的效率显示比较低,用户或者移动鼠标或者按键盘方向键,然后往键盘上打字输入更新后的字符数据;当更改其它单元数据时,重复此操作。
为了解决通用型应用软件在解决某方面问题时效率低下的问题,从程序员的角度出发,不是想方设法弄清楚EXCEL软件中是否有更好的更高效的处理方法,也不是墨守成规式地忽视效率问题被动地接受EXCEL软件在这个方面的处理短板。
为了解决通用型应用软件在解决某方面问题时效率低下的问题,从程序员的角度出发,应该是怎样呢?程序员的第一个想法,应该是——我要做一个软件,解决这个问题,提高问题的解决效率。是的,学习的目的不就是于“学以致用”吗?学了,懂了,就要会“用”,而且要“用”得好,“用”得对!
很多人学了多年程序,但是一直没有多大的成绩出来,纠其原因,我想大部分还是因为其不能将所学学以致用!
用VC编写的一个小软件,将单元格显示记录数据的方式,改为按钮方式,当数据增加时,用户只需要点击相应的投票按键,省去了打字更新数据的繁琐操作,而且采用图形可视界面代替表格界面,使数据更直观。附上软件的效果图,如下图所示:
- 编程的奥义
- 编程的奥义——Solve Problems
- 星际的最终奥义
- JSP 的奥义
- 追妹子的终极奥义
- 电脑卡顿的终极奥义
- 网络安全的终极奥义将会是人工智能?
- 拯救你的字符串 : 完美救赎之终极奥义
- 乔布斯的最终决战奥义:多位一体电视机
- word符号代码——替换功能的终结奥义
- 《负负得正的人生奥义书》 - 好书推荐
- 用MongoTemplate查询指定字段的正确奥义
- python奥义
- PHP奥义
- Linux那些事儿 之 戏说USB(8)最终奥义 - fudan_abc的专栏 - CSDNBlog
- 16 - 11 - 16 二叉树(C)生成之--终极奥义--书上没讲的!!
- vim-2 删除命令、数字的奥义、撤销和恢复命令
- NOIP2017 Day1 T1 小凯的疑惑 真·奥义·蒟蒻总结
- HDU-1014魔鬼在细节中
- Android自动测试之Monkey工具
- Android自动测试之monkeyrunner工具
- VC:设置Tab 控件顺序(TabOrder)
- Java学习之路:不走弯路,就是捷径
- 编程的奥义
- char与nchar的区别
- Java的六大问题你都懂了吗
- hdu 4371 Alice and Bob
- NSRange,NSNumber
- Android WindowManager与窗口管理
- win-xp-sp3 安装SQL2005时提示 兼容性问题
- 类与类之间的关系图(Class Diagram,UML图)
- 阻塞,非阻塞,同步,异步