zoukankan      html  css  js  c++  java
  • 程序的信息学意义

    数学的作用是减少环节,简化计算。

    如1+1+1 = 1*3

    从信息学角度,就是压缩冗余的信息。

    程序开发也是类似的原理,有很多环节可以进行压缩,比如循环可以压缩重复的字句,函数可以压缩重复的算法。

    既然如此,那么一个问题,必然有经过压缩和没有经过压缩的程序表示形式,优秀的程序应该是精简的。

    但是,一个问题也必然有其无法压缩的复杂性,就如永远无法压缩一个非0字节的文件到0字节.

    借助这些特征,属性,我们可以看清程序和数学之间的一些关系。数学是一套系统的压缩理论,把有着重复结构的初级表示形式,转化为高度统一的高层表示形式。程序员可以借助数学工具,对具体问题的解进行优化,得到简化后的程序代码。但是,数学这套工具是应对人类大脑而开发的,它针对人类不擅长计算的特点而设计,计算机是擅长计算的,所以数学工具需要根据计算机的特点做调整。

    1+1+1 这种低级形式对人类来说有点困难,所以产生了1*3这种高度抽象的形式,但是计算对计算机很轻松,因而计算机并不排斥简单的形式。

    数学和程序之间的分歧是,数学总是在追求更高级的形式,以用一个简易的方式解决某个片段,而程序却需要直接面对问题本身的复杂性,即数学在追求深度,而程序讲究的是广度。数学研究的是某一特定问题,将问题细分,进行专业化的研究,而程序总是去解决具体的需求,他是各种问题的集合体。

  • 相关阅读:
    外观模式
    适配器模式
    桥接模式
    中文词频统计
    英文词频统计
    字符串练习
    Python基础
    熟悉常用的Linux操作
    作业
    递归下降分析法
  • 原文地址:https://www.cnblogs.com/Nobel/p/2912829.html
Copyright © 2011-2022 走看看