第二部分 从砖开始:编程范式
软件体架构是以代码开始的,所以我们将从第一行代码被编写以来,看看我们已经历经了哪些代码,从而开始讨论体系结构。
1938年,艾伦·图灵为计算机编程奠定了基础。他并不是第一个设计可编程机器的人,但他是第一个明白程序只是数据的人。到1945年,图灵用真实的计算机编写代码,我们将认识到(如果我们眯起来的话)。这些程序使用循环,分支,赋值,子程序,栈和其他熟悉的结构。图灵的语言是二元的。
从那时起,一些程序的革命就发生了。我们都非常熟悉的一场革命是语言革命。首先,在二十世纪四十年代末,汇编器来了。这些“语言”减轻了程序员把他们的程序翻译成二进制的苦差事。 1951年,Grace Hopper发明了第一个编译器A0。事实上,是她创造了编译器这个词。 Fortran是在1953年(我出生的那一年)发明的。随之而来的是不断涌现的新型编程语言,如COBOL,PL/1,SNOBOL,C,Pascal,C ++,Java等等。
另一个可能更重要的革命是编程范式。范式是编程的方式,与语言无关。范例告诉你使用哪些编程结构,以及何时使用它们。迄今为止,有三种这样的范例。由于我们稍后会讨论的原因,不太可能有其他的了。