编程的本质是业务
2009-11-26 10:01
176 查看
这次讨论非常有收获,让自己能静下心来思考一些编程背后的本质问题,让我们能看清到底什么才是真正的编程。其实编程从最初开始就是为了解决业务问题而诞生的,比如代替人的手工计算,大幅提升计算速度,发展到现在虽然编程已是个五彩斑斓的世界,但在企业里编程就是为了促进业务和解决业务的一种特殊的信息化业务。即便是在学校里,我们学习编程的目的也是为了将来进入企业,能胜任企业的工作业务。
我感觉我们的学校教育还是很弱的,即便是在大学里,我们的教育思想也绝大多数停留在智力教育的层次上,而且更可怜的是这些智力教育也大部分是实验室环境的智力教育,很少结合复杂的社会实践来教育。也就是说我们的教育最大的弊病在于不是“仿真”而是“仿假”,素质教育喊了这么多年,最终结果就是学生的课业仍然繁重,学生在课堂上学的东西仍然是“没什么用处”,就是因为我们在课堂上所学的都是用“假如XXX”之类的“仿假”的真空环境所传授出来的,可以说自学能力差的同学到了真实环境就没有免疫力,自然就不会学到“有用”的东西了。我自己也是平庸之辈,其实我很崇拜那些中国本土教育下成长起来的成功人士,要知道在这种环境下能学到东西获得成功,实在不是普通人能做到的。其实中国的能人很多,从如此糟糕的教育都能出人才来看,如果真能实行真正的而不是形式主义的素质教育的话,中国的人才岂不会更多?
中间有点跑题了,最后再回到编程的本质上来,既然编程的诞生就是为了解决业务问题,那么我们的学习也就不能脱离这个业务环境,否则我们的学习将成为无本之木、无源之水。说到这里很多同学可能觉得编程里有很多东西是不需要和业务有关联的,比如探讨代码的语法和执行效率等等所谓高级技巧,其实这些也是一种业务,难道不是吗?不是说劳动是人类创造力的源泉吗,即便是纯粹的实验室研究也不能脱离现实需求,特别是生产劳动的需求,没有劳动,你在实验里能获得创意吗?即便你自己拍脑袋想出个创意,生产劳动中能带来价值吗,这不也脱离不开劳动实践的检验吗?而且随着信息技术进步,程序软件的应用范围越来越广,已经在各类非IT行业中起到了必不可少的生产业务辅助甚至是主导生产业务的作用,业务已经是商用化开发的必然核心了。
所以到这里我有种恍然大悟的感觉,语言、语法、代码、技巧其实都是雕虫小技,业务能力才是本质,才是一个程序员的核心竞争力。以前经常在技术论坛看到程序员们为了维护自己热爱的语言、代码和技巧而和有异议的同行大吵口水仗,我也曾经乐于此道,现在想来真是可悲可怜可叹,我们竟然把精力浪费在了最肤浅的地方。
我感觉我们的学校教育还是很弱的,即便是在大学里,我们的教育思想也绝大多数停留在智力教育的层次上,而且更可怜的是这些智力教育也大部分是实验室环境的智力教育,很少结合复杂的社会实践来教育。也就是说我们的教育最大的弊病在于不是“仿真”而是“仿假”,素质教育喊了这么多年,最终结果就是学生的课业仍然繁重,学生在课堂上学的东西仍然是“没什么用处”,就是因为我们在课堂上所学的都是用“假如XXX”之类的“仿假”的真空环境所传授出来的,可以说自学能力差的同学到了真实环境就没有免疫力,自然就不会学到“有用”的东西了。我自己也是平庸之辈,其实我很崇拜那些中国本土教育下成长起来的成功人士,要知道在这种环境下能学到东西获得成功,实在不是普通人能做到的。其实中国的能人很多,从如此糟糕的教育都能出人才来看,如果真能实行真正的而不是形式主义的素质教育的话,中国的人才岂不会更多?
中间有点跑题了,最后再回到编程的本质上来,既然编程的诞生就是为了解决业务问题,那么我们的学习也就不能脱离这个业务环境,否则我们的学习将成为无本之木、无源之水。说到这里很多同学可能觉得编程里有很多东西是不需要和业务有关联的,比如探讨代码的语法和执行效率等等所谓高级技巧,其实这些也是一种业务,难道不是吗?不是说劳动是人类创造力的源泉吗,即便是纯粹的实验室研究也不能脱离现实需求,特别是生产劳动的需求,没有劳动,你在实验里能获得创意吗?即便你自己拍脑袋想出个创意,生产劳动中能带来价值吗,这不也脱离不开劳动实践的检验吗?而且随着信息技术进步,程序软件的应用范围越来越广,已经在各类非IT行业中起到了必不可少的生产业务辅助甚至是主导生产业务的作用,业务已经是商用化开发的必然核心了。
所以到这里我有种恍然大悟的感觉,语言、语法、代码、技巧其实都是雕虫小技,业务能力才是本质,才是一个程序员的核心竞争力。以前经常在技术论坛看到程序员们为了维护自己热爱的语言、代码和技巧而和有异议的同行大吵口水仗,我也曾经乐于此道,现在想来真是可悲可怜可叹,我们竟然把精力浪费在了最肤浅的地方。
相关文章推荐
- 编程的本质任务就是驾驭计算机科学的极端复杂性
- 技术积累应用-可视化编程平台应用层面:业务模块类
- 编程内功:业务逻辑抽象
- Callback函数详解(我感觉,回掉函数的本质是函数指针,在业务做循环处理的时候,调用一下通知外部)
- Scala编程指南(3) 揭示Scala的本质
- 编程启示录:一些语法的本质(C++)
- 『阿男的编程本质论』*08 Eval,Macro,Preprocessor,Homoiconicity(一)*
- 『阿男的编程本质论』*09 Eval,Macro,Preprocessor,Homoiconicity(二)*
- 【一周极客热文】一个7岁女孩告诉你的关于计算机编程的本质
- 掌握所有的编程语言并非不可能的事 抓住编程语言的本质
- java-----C/S编程----模拟手机业务办理
- 模块化编程本质探讨
- 插件开发技术说明(12)---面向业务对象编程:2种风格的对比
- C专家编程 十六 抽象——取事物的本质特性
- (还原本质)编程基础: 基本原理
- 编程的本质
- 关于“编程的本质”的探讨
- 小菜和大鸟的编程故事之五:业务和界面分离
- 『阿男的编程本质论』*10 Eval,Macro,Preprocessor,Homoiconicity(三)*
- 当你编码时你在做什么:谈编程的本质(一)状态机