`
longsy
  • 浏览: 138189 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

不要用程序来思考问题

阅读更多

       下面只是我一已之言:

       比如说我,一个小小的程序员。在遇到业务上的问题时,总是先使用编写程序的思想去思考如何解决问题。这在无形之中就缩小了我们思维的空间和想像力。在希望走"创新"的道路上"中规中矩"地努力奋斗着。

 

       不要为了编程而学编程。大家都知道:当初发明电脑软件的目的就是帮助人们解决日常问题。而现在却发现一种怪事:学习编程却成了人们的日常问题。学习编程远离了其初衷,使用编程成为一种主问题(其实编程只一种工具),而我们要解决的问题却成了次要问题。这种"本末倒置"的事实已经屡见不鲜了。所以程序员往往会在解决问题的同时模糊了自己的目的和迷失了自己的方向。

 

       作为程序员,由衷地感觉程序员的工作很累。我一直在想,这是不是我们程序员处理问题的方式存在问题呢?很多程序员都经常加班加点,原因是因为项目需要交付,得赶紧修改客户所要求的需求。客户的需求很多吗?平时时间很紧迫吗?作为程序员一份子的我并不这么认为。很多人理由是客户的需求一直在发生变化,导致我们有修改不完的程序和BUG。不知大家是否想过为什么客户的需求一发生变化我们的程序就是进行大量的修改?因为修改以前代码,我苦恼过,郁闷过,但代码还是要修改,生活还是要继续。使用语言思考业务模糊了我们对需求的理解。无法捕捉需求的变化。这样我们的程序永远就跟在业务的后面,无法拥抱变化,没有什么"可预见性".

 

       现在很多设计模式和敏捷的书广受欢迎。部分原因是因为这类书籍一直在探索如何减轻因为需求的变化而减轻修改代码的工作量以及如何提高开发效率。

 

       由汇编-->过程语言-->面向对象语言-->函数式语言,这些语言越来越抽象,越来越贴近人的思维和逻辑方式。人的思维方式应该是如何解决问题,而不应该是如何使用程序解决问题。因为语言是服务人的,人不应该按语言的套路来行事。就好像人本应该快乐的生活,快乐是生活的本质。为什么很多人生活的不快乐呢?是因为受到社会的世俗物质纤绑。世俗本应服务于人,而现在人却受制于物质。同理,编程本应该服务于人,而人却受制于编程。

 

       语言越抽象,越能解决人们的问题。再换句话说,思维越抽象,越能看清问题的本质,找到解决的问题的方法。业务应该比语言更抽象,而我们常常使用语言思考问题,这样就降低了思维的抽象性,增加了解决问题的困难度和非清晰度。

 

      总结一句话:不到万不得已,不要使用程序去思考解决问题的方法。

 

分享到:
评论

相关推荐

    约瑟夫斯问题GUI程序

    自己大二时学习图形编程写的一个小程序。后来发现主要功能写错了,千万不要下载参考。同学们,作业还是要自己思考、独立完成的,不要轻信网上的资源。

    java 编程入门思考

    13.16.3 用Java 1.1 AWT制作窗口和程序片 13.16.4 再探早期示例 13.16.5 动态绑定事件 13.16.6 将商业逻辑与UI逻辑区分开 13.16.7 推荐编码方法 13.17 Java 1.1 UI API 13.17.1 桌面颜色 13.17.2 打印 13.17.3 剪贴...

    STC8H8K64U使用C51和汇编分别实现键控,恳请各位不要直接抄,一会的思考可比一份作业重要多了。

    STC8H8K64U使用C51和汇编分别实现键控不同方式数码管动态显示,恳请请不要直接抄,一会的思考可比一份作业重要多了。

    Visual C++环境下Windows程序开发概述 Visual C++环境下Windows程序开发概述

    对于初学vc++的人,有很大帮助,希望好好利用资源,学习后,要懂得思考,不要看后不吸收。

    ITASQ:一个旨在回答一个古老问题的网络应用程序

    理想情况下,在使用该应用程序后,用户将能够将含糊不清、毫无意义的问题改写为简洁、有明确观点并促进深入思考的问题。问题人们会告诉你,没有愚蠢的问题。 他们在撒谎。 很多时候,我们会问一些很愚蠢的问题。 ...

    基于MATLAB语言的RFID二进制防冲突法识别过程仿真程序

    压缩包里有一个内含1000个24位十六进制数的txt...如果明年有也写这个作业的学弟学妹,请不要照抄我的代码,希望大家能独立思考,我的这个只是一个参考,编程遇到问题可以联系我bhuhyq@foxmail.com,我很乐于提供帮助。

    敏捷开发思想

    永远不要害怕问出SB的问题,再傻的问题只要是自己认识思考就要表达出来了,同样如果碰到别人问一些简单的问题也不要不耐烦,要认真对待。 改bug或是看代码时遇到不合理的代码要善于逐步合理重构。

    ObjectARX 人机交互技术原型程序介绍

    近十年来的研究,经过各种各样技术路线的努力,终于得到了回报,做出了自己的原型程序,原型程序的目标是模拟 AutoCAD 使用者可以看到的下列组成部分:多文档同时编辑、命令行窗口、主窗口菜单、字符屏幕窗口、多...

    session工厂

    永远不要害怕问出SB的问题,再傻的问题只要是自己认识思考就要表达出来了,同样如果碰到别人问一些简单的问题也不要不耐烦,要认真对待。 改bug或是看代码时遇到不合理的代码要善于逐步合理重构。

    软件测试中性能测试中设置思考时间的作用

    软件测试中性能测试中设置思考时间的作用性能测试是通过自动化的测试工具模拟多种正常、峰值以及异常负载条件来对系统的各项性能指标进行测试。负载测试和压力测试都属于性能测试,两者可以结合进行。通过负载测试,...

    割圆术求圆周率.txt

    思考了一下,写了一个简单程序,长时间不写,专业能力不是很强,所以过程不要细究,实现功能就好~输入n边形,判断输入的边数是否为6的倍数,输出对应π的值以及π的上限值(数学课推导π的精确度和范围时用到)。

    perl编程24学时教程.rar

    13.2.3 使用引用来调试程序 154 13.3 练习:另一个游戏——迷宫 155 13.4 课时小结 157 13.5 课外作业 157 13.5.1 专家答疑 157 13.5.2 思考题 158 13.5.3 解答 158 13.5.4 实习 158 第14学时 使用模块 159 ...

    perl语言脚本文档说明

    13.2.3 使用引用来调试程序 154 13.3 练习:另一个游戏——迷宫 155 13.4 课时小结 157 13.5 课外作业 157 13.5.1 专家答疑 157 13.5.2 思考题 158 13.5.3 解答 158 13.5.4 实习 158 第14学时 使用模块 159 ...

    从一个“普通”的Oracle DBA(Oracle数据库管理员)转变为Oracle Applications DBA(Oracle应用程序数据库管理员)

    最后,我要说,你现在接触和管理的是比你以前复杂的多的系统,这套系统的每一个部分都不能单独来看,一叶障目,不见泰山,遇到问题应该从整体思考。一个Apps DBA是一个对这套系统每一部分都有所了解的人。 结论 ...

    24日学好Perl语言

    13.2.3 使用引用来调试程序 154 13.3 练习:另一个游戏——迷宫 155 13.4 课时小结 157 13.5 课外作业 157 13.5.1 专家答疑 157 13.5.2 思考题 158 13.5.3 解答 158 13.5.4 实习 158 第14学时 使用模块 159 14.1 ...

    perl学习文档

    13.2.3 使用引用来调试程序 154 13.3 练习:另一个游戏——迷宫 155 13.4 课时小结 157 13.5 课外作业 157 13.5.1 专家答疑 157 13.5.2 思考题 158 13.5.3 解答 158 13.5.4 实习 158 第14学时 使用模块 159 14.1 ...

    PERL编程24学时教程.pdf

    13.2.3 使用引用来调试程序 154 13.3 练习:另一个游戏——迷宫 155 13.4 课时小结 157 13.5 课外作业 157 13.5.1 专家答疑 157 13.5.2 思考题 158 13.5.3 解答 158 13.5.4 实习 158 第14学时 使用模块 159 14.1 ...

    PERL编程24学时教程

    13.2.3 使用引用来调试程序 154 13.3 练习:另一个游戏——迷宫 155 13.4 课时小结 157 13.5 课外作业 157 13.5.1 专家答疑 157 13.5.2 思考题 158 13.5.3 解答 158 13.5.4 实习 158 第14学时 使用模块 159 14.1 ...

Global site tag (gtag.js) - Google Analytics