软件的本质是什么,该如何理解?
1、所有的软件,无非是增删改查和数据的可视化。Google也就是做了一个查,只不过查的对象是整个互联网内容,互联网上的用户进行增删改操作。阿里巴巴也就是对商品的增删改查。
2、软件的本质是,根据已知的实现,对这些实现封装,对外暴露接口。操作系统对硬件封装,对外暴露接口。高级编程语言对操作系统进行封装,对外暴露接口。引用软件对高级语言封装,对外暴露接口,很多是人机接口。
3、可以把软件的运行看成做一件事,比如做菜。做菜需要菜谱,菜谱列出了需要哪些原料和操作步骤,人按照操作步骤,加工数据。菜谱就是程序,原料就是数据,操作步骤就是程序的控制流程,人就是CPU,人做菜就是CPU执行程序,就是进程。