23
Apr

从零开始学13 — 什么是程序,程序如何运行的

计算机程序(Computer Program)是由编程语言编写的,经过编译以后运行在计算机上的指令序列。

著名的把大象放进冰箱需要几步的问题,就是一个程序问题^_^

1.jpg


当然了该程序是否可行,就是个值得推敲的问题,聊到这儿,我发现很多客户需求,就经常干把大象放进冰箱的事儿。


说回程序,我们利用鼠标和键盘等外设操作电脑,实际是在执行程序,我们通过各种各样的程序来达到目的,当然也可以编写新的程序来执行新的任务,我们仔细思考下,是不是能得出这样的结论:程序 + 原始数据 = 结果数据


我们修张图,用PS,从打开图片操作,到最终保存修好的图片,正是这样一个过程:要修的图片是原始数据,修好的图片是结果数据,而PS就是程序,我们修图的过程则是程序执行的过程。


我们写个PPT总结,将图片、文字和图表组织成PPT的过程就是我们执行PowerPoint生成演示文稿的过程。


计算机系统可以简单分解为软件和硬件,让我们更进一步组织一下:

2.jpg

操作系统也是软件的一种,不过它比较特殊。我们把它从软件里拆分出来,是因为它最接近计算机硬件,并为软件和应用提供执行环境。计算机系统的本质就是通过程序处理数据,所以计算机如果没有程序,甚至不如一把锤子。


程序是怎么在计算机上运行的呢?想象一下开关(就是你家里控制灯亮不亮的那个墙壁上的面板),我们令开关状态有意义,比如某开关闭合时让它代表1,开关断开时则是0,那么两个开关的话,就有四种状态:00、01、10、11,那么更多开关就具备更多组合,能够代表更多意义……这就是二进制的基础了,所有的计算机程序,最终转化成二进制指令被计算机执行。


什么?你说写程序就是写0101011000101010…… 早期程序员就是这样干的:

3.jpg

有孔代表1,无孔代表0……


现在,我们有了各种编程语言,以人们更容易理解的形式来描述程序,然后通过编译器或解释器之类软件,转换为二进制后由计算机运行。编译器或解释器,它们也是程序,可以理解为将人类语言(编程语言)转换为计算机语言(二进制程序)的翻译程序。


为什么有那么多编程语言?技术是不断更新迭代的,使用领域也不尽相同,不同语言各有各的优缺点,设计初衷也并不相同。


所以关于程序你要知道的是:

  1. 计算机很蠢,它只是忠实的执行你给它的每一条指令,不仅要逻辑清楚,还要面面俱到。

  2. 程序是为数据服务的,也产生数据,程序和数据是相辅相成的关系,抛掉数据说程序,就是耍流氓^_^




小练习:

1.通过百度百科搜索“计算机程序”词条,了解下计算机程序相关定义和知识

2.通过百度百科搜索“编程语言”词条,扩展一下编程语言知识


About Me

Nothing is impossible!

Friends
倩倩的网站儿子的网站丽丽
CATEGORIES
Tags
ChatGPT四舍五入GOBeatles想像冰雪奇缘北京编程SSL证书认知障碍Docker春天行政区域名列表域名体系nginxopen_basedir思维指令编程语言程序URL网站上线域名FTP云服务器搜索引擎JSCSS网页超链接聚合内容列表元素网页构成网站的构成网站的分类网站单标签HTML第一个网页简单网页博域科技2018香山春游AJAX字体
Copyright©2022 王阳 版权所有  京ICP备14005672号-6