以最低级的角度来看,可执行文件中包括了针对特定微处理器(一般会是CPU)的机器码,机器码包括了一连串二进制的数值,使处理器从目前的状态变换到下一个状态。例如指令可能会修改电脑内一特定位置中的数值,其效果是用户无法直接观测到的,指令也可能让屏幕上显示特定数据,这种状态变换是用户可以看到的。处理器会依照顺序处理收到的指令,不过处理器的处理也可能受到中断,或是因为流程控制指令而改变其要处理的指令。
机器码是许多二进制的数值,不方便工程师阅读及开发程序,因此有汇编语言,将机器码转换为人可以看懂的助记符。不过现在多半的软件是用高级语言撰写,比较类似自然语言,对人类而言比机器码或汇编语言要简单,方便人类使用。高级语言一般会用直译或编译的方式,将软件的源代码转换为机器码。
源代码是指以编程语言所撰写的一系列人类可阅读的电脑指令,以实现出软件的行为和功能。