Skip to content

Latest commit

 

History

History
19 lines (10 loc) · 916 Bytes

two-kind-of-software.md

File metadata and controls

19 lines (10 loc) · 916 Bytes

两种软件类型

上次在twitter上看到有人说(原链接不详),大致意思是世界上只有两种类型的软件,compiler & raytracer。我当时没有细想,但这句话回味无穷。

我对这句话现在有这样的理解:

compiler:是用户输入数据,通过计算或者单纯的变换,转化为另一种数据,改变数据的组织结构,以提供新的能力适应不同场景的需求。

侧重于:输入,物理到数据,数据根据格式要求计算和转化

比如:web server,database,os,

raytracer,是根据既有的数据,通过计算,完成对物理世界的模拟和反射,并输出给用户,

侧重于:输出,数据到物理,数据根据演化规则计算和转化

比如:渲染器,物理模拟,窗口和布局,用户界面(输出侧)

这两种类型,不是说是互斥的关系,而是属性上各有侧重。