• 程序的信息学意义


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

    如1+1+1 = 1*3

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

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

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

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

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

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

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

  • 相关阅读:
    JavaScript 移动端拖动元素
    JavaScript轮播图
    JavaScript缓动动画函数封装
    JavaScript mouseenter和mouseover的区别
    类欧几里得算法
    AGC043 A~C 解题报告
    「UOJ495」新年的促销
    「BZOJ4842」Delight for a Cat
    Atcoder AGC002 解题报告
    Atcoder AGC001 解题报告
  • 原文地址:https://www.cnblogs.com/Nobel/p/2912829.html
Copyright © 2020-2023  润新知