乱弹:论编程的本质

      前几天看了几个论坛上关于编程本质的帖子,有的认为编程的本质就是构建可维护性、可扩展性的程序,有人认为编程就是用coding解决实际问题。当然,每个人都对编程有自己独特的看法。笔者认为,编程是人类特有的具有某种特定目的的智力活动。朋友们可能会给我扔几块砖,“废话,下棋打麻将也是智力活动”。

      编程的发展过程以和理解人类生产力的发展过程做对比。人类的生产力进步,经历了漫长的岁月,从刀耕火种到机器化大生产,其间经历了石器时代、青铜器时代、铁器时代、蒸汽机时代等等。而计算机编程从最初的机器码、逐步发展成汇编语言、以及各种高级语言。如果说机器码的年代是编程的石器时代,那么现代的各种高级语言如C++,Java则是编程的机器化大生产时代。编程的目的是什么呢?就是为了解决实际生产生活中各种计算的问题。编程语言的进步,其实是计算能力的提高,也反映了生产力的提高。同样的问题,用汇编代码可能需要几百行,但是用高级语言可能只需要几十行。受到人类的脑力天然的局限,人只能同时关注7个左右的对象,在进行低级语言编程的时候,除了要考虑问题域的逻辑,还要考虑机器的细节,难免生产效率底下;而在使用高级语言开发的时候,通过各种抽象的手段,人们可以用问题域的语言描述解决问题的方案,开发效率就可成十几倍的提高。

     无论编程语言和开发工具如何进步,人们始终离不开编程活动。当问题域的逻辑发生变化,必然要经过编程反映到实际的可执行代码上。

     当编程从实验室的神坛上走向成千上万的软件开发企业,当编程从艺术创作变成了工业化的软件工程,软件开发的内涵越来越丰富,软件开发所涉及的活动也越来越多,但是编程归根结底,是一种智力活动。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值