你真的知道程序在做什么吗?简单例子解释“程序思维”

成天低头滑手机的我们,都在不停地接触所谓地“程序”,除了 App(应用程序) 之外,每天必碰的微信, 淘宝,抖音,甚至是win10,都是广义的程序。

等等,windows 不是操作系统吗?怎么说它是程序呢?要从头解释就得占用各位一点时间,所以小编就赶紧把“程序的概念”介绍大家吧~

程序,广义来说,就是一组对某装置、以某种语言、执行一系列动作的指令。为达成这些指令,我们需要一些先备条件,也就是程序的输入(Input)、完成一系列的流程后,会得到程序的输出(Output)。为了方便大家想象,我们把程序想象成某样菜的食谱 :

好吃的煎蛋 :

开小火,加入油一匙并使其均匀分布于锅中打破蛋壳,并把蛋液倒入锅内,并洒上盐巴少许待一面煎熟后翻面并待另一面煎熟取出煎蛋,关火,大功告成在这个食谱(程序)中,对自己(装置)、用中文(语言)、确实执行食谱步骤(下指令)、并在用具备妥(输入)的情况下,我们能够得到一份好吃的煎蛋(输出)。

当然,在程序中,如果流程发生一些无法预期的错误,例如火开太大让蛋焦掉了,那么整个程序就有可能出错,无法达成我们预期的结果 ,让蛋变得不好吃了。反之,若程序完美执行则可以够保证能得到预期的结果。因此,一个程序的存在就代表着一项动作能被实行。

先暂时把好吃的煎蛋放在一边,除了这种只能完成单一工作的程序,也有能完成多种工作的大程序,平常看见的程序也大多都是多功用的,这又是怎么一回事?

实际上程序也有相对的高低阶之分,高阶的程序需要低阶的程序来跟计算机沟通、取用计算机在物理上就有的指令,具体就是计算机的 CPU (再细分下去确切位置会讲不完 TAT)。如此一来,高阶程序就只需要认识那些低阶程序就能执行指令,而不用去考虑更底层的 CPU 如何如何,让高阶程序的维护方便许多,也让分工变得更加明确。

用生活化的例子来说,今天一大早出门,想要买一份早餐填饱肚子,于是向早餐店买了一份三明治,你只关心有没有三明治而不会在意煎蛋啦、小黄瓜丝什么的是如何弄好的,因为已经有其他人帮你打理好了。

每一阶的程序都只能和自己上阶跟下阶的程序做沟通,且每层的功用是独立的,这样的逻辑便是分层架构。分层架构在信息领域来说非常常见,操作系统也是一种分层架构,是管理各种应用程序的大程序。由于每一层的功能是独立得缘故,程序设计师便能够随时将需要的功能装上、或是修改错误的功能 ; 也由于这类程序都能追溯至同一底层,所以程序才能在各类装置中相互移转。(其实底层硬件指令有也有许多规格,不过都被在一层一层的程序中被修正成用户感受不到差异的状态了,这样也比较好理解)

小编说了这么多,应该能对程序的整个架构有更全面的了解!那么来回顾一下重点吧~

程序需要输入(Input),跑完程序会产生输出(Output)程序有分高低阶,而且程序本身只能跟 TA 的上阶和下阶沟通喔,一边是输入、另一边是输出,看情况而定程序能够追溯至同一底层,所以能在各装置中互相移转相信未来能够带给各位更多有用的知识喔!