程序是可以直接在电脑上执行,以完成某个目的或任务的一连串指令
换句话说,程序就像是一本说明书,里面详细纪录了完成某个任务的每一个步骤以及顺序;或者你也可以想成我们要电脑做的任务是完成一道料理,那程序就是这道菜的食谱
电脑里面的所有讯息都是由代表 0 和 1 (二进位)的电流讯号组成的,为了让电脑可以直接看懂程序的内容,所以程序也是由一大堆的 0 和 1组成的
这个可以用 0 和 1 表示指令的规则就叫做机器语言
机器语言不需要经过转换就可以直接被电脑解读,执行速度应该是最快的,但缺点也很多
除了规则非常复杂,不好学习和阅读,不同厂牌、甚至是不同型号的电脑,使用的机器语言不一定相同,所以一样的软件在不同的电脑上都要重新写一次,使软件开发变成一件相当困难的任务
为了让软件开发更加容易,以前的工程师想到用人类较擅长的文字与符号代替原本是数字的机器语言
这类可以用文字及符号编写程序的规则就是程序语言,用程序语言编写的就叫程序码
随着时代演进和更多不同的需求出现,越来越多更容易学习、功能更强大,或是专门解决特定问题的程序语言相继出现
我们可以把程序码当成是写食谱,食谱把一道料理分成好几步,只要照着食谱一个步骤接着一个步骤做就可以完成食谱上的料理
程序也是,程序会照着程序码一行接着一行的执行,所以编写程序时我们要把一个任务分成几个步骤,再把这些步骤转换成程序语言一行一行的打出来
学写程序和学外语一样,先学会单字和语法,再慢慢尝试将脑中的想法转换成实际的文字
所以程序语言其实是给人看而不是给机器看的,为了让电脑看得懂我们写的东西,程序码必须转换成机器语言
转换的方式有编译和直译两种,同一种语言通常只使用其中一种方式,所以使用编译的程序语言又叫编译语言,使用直译的叫直译语言
编译和直译都是由软件进行,执行编译的就叫编译器,执行直译的叫直译器,每个语言都会有自己的编译/直译器
这个系列要介绍的C语言就是使用编译
程序码会储存在文字类型(类似.txt
)的程序码档案,执行前必须先进行编译
编译时会把整个档案的程序码都转换成机器语言,再把转换後的内容储存在可执行档案(例如Windows的.exe
)
我们可以把写程序的人想成台湾厨师,电脑是日本厨师
台湾厨师用繁体中文写好一份食谱,日本书商的译者将整份食谱都翻译成日文,於是所有的日本厨师就都能看懂这份食谱
这边的台湾厨师就是人,繁中食谱是程序码,译者是编译器,日本厨师是电脑,日文食谱就是编译好的程序
关於直译可以到这篇康康
前言 首先先恭喜我自己完赛。 今年本来是想写 Flutter 的,在我的 Day 1 那篇应该有提到...
那麽在先前实作中,我们业已将 WordPress 网站建筑在 AWS 环境中(可以详【Day 05】...
昨天角色的 CRUD 功能都完成了,接着就是要把角色指派给使用者了,先建立一个 ViewModel ...
哈哈, 其实拖了很久了! 今天来把最後剩下功能给补齐,修复跟移除, 只是我在看InstallView...
前言 我们已将Cahtbot与Azure 认知服务(Cognitive Services)中的LUI...