架构师的宏观视角
Contents
计算机的世界里,所有的复杂的东西都是由简单的东西一步一步搭建起来的,归根结底,程序最终还是翻译成指令集的不同组合,这些组合不同的顺序以及数量,组成了我们现在的计算机世界。
当今的计算机仍然使用的是 冯诺依曼的体系架构,包括处理器、存储器、输入输出设备,足以见得此架构的威力。
软件架构师和其他行业的设计师相比,把工作内容抽象起来,其实都一样。建筑师画图纸,需要考虑建筑的各个方面,建筑材料、建筑框架、力学等等。软件架构师其实也一样,设计一款好的软件,也要在开发之前选择好使用的语言、考虑整体的流程、引入的第三方程序等等。
与建筑相比,其实软件的设计更像是工厂的产品流水线设计。
可以不通过操作系统,直接让程序在计算机上执行,是的,可以这么做。操作系统的出现,是为了让开发者更好的管理计算机,降低编程的复杂性。这点可以从编程语言的发展看出,最初的汇编语言,到后面的高级语言,开发者的编程难度逐渐降低。(C++是个意外)
现在随着云计算的发展,越来越多的应用会通过浏览器展示给用户,本机上的操作系统变得越来越鸡肋,变得像是 远端的云服务器和本地的浏览器之间通信的管道。
未来的计算机设备形态会越来越多,架构的目的是为了更加方便快捷的开发程序。