微电子技术的发展使得集成芯片产生了一定程度的“智能”,微处理器(CPU)能够按照我们开发者预先设定好的“程序”来运行,我们通过编写“程序”代码,达到与计算机(PC)去工作的目的。
在计算机技术发展的早期,“程序”代码的编写并不是一件简单的事情。由于计算机本身只能理解“0”和“1”组成的代码,于是编程人员只能把“0”和“1”的数字编成的程序代码打在纸带(“1”打孔,“0”不打孔)上,然后将纸带放入计算机的输入系统中,这样计算机才能明白程序员让它完成什么任务。
程序员编程时要充分定义好每一个“位”的含义,然后按照规定好的逻辑将它们组合成代码。这种由“0”和“1”组成的代码十分地复杂,人类很难理解,给程序的编写、修改和维护都带来了很大的困难。
为了提高程序编写的效率,提高代码的可读性及可维护性,计算机科学家们发明了“汇编语言”。汇编语言使用特定的英文符号代替机器指令,大大增强了程序的可读性,提高了编程的效率。
汇编语言的英文指令虽然便于人类理解,但微处理器(CPU)却无法理解。于是科学家们设计出一个专门的程序,用来把汇编语言的英文指令,“翻译”成微处理器(CPU)能够执行的机器代码,这个翻译程序,被称为“编译器”(编译器也有个发展的过程,不深究)。那些用汇编语言写成的代码,被称为“源代码”。
汇编语言编程与早期的纸带打孔编程相比,程序的可读性大大增强。但随着微处理器技术的迅猛发展,用汇编语言来写程序也逐渐不能满足需求了,主要表现在两个方面:
第一:随着程序复杂性的提高,汇编语言编写的代码量显著增加,编写和维护的难度变大;
第二:汇编语言依赖于特定的微处理器,程序的跨平台移植性很差,很多时候需要重新编写;
于是,一种不需要记忆繁杂指令的、与硬件平台无关的编程语言就成了程序员们梦寐以求的