程序的信息学意义

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

如1+1+1 = 1*3

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

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

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

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

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

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

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

posted @   诺贝尔  阅读(489)  评论(0编辑  收藏  举报
编辑推荐:
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
阅读排行:
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· Docker 太简单,K8s 太复杂?w7panel 让容器管理更轻松!
历史上的今天:
2012-02-15 win8 也是很有吸引力的
2012-02-15 为何pc阵营无法推出ipad
点击右上角即可分享
微信分享提示