网站建设编程工具的发展历程以及面向过程的编程,计算机对当今世界的影响力不言而喻,而产生这种巨大的影响力的关键因素无疑是运行在各种计算机(个人计算机、服务器、智能手机)中的网站建设编程工具。我们都知道,计算机系统是由编程工具和硬件组成的,关于计算机网站建设编程工具和硬件的定义,
网站建设公司这里就不再赘述了。现在我们通过另外一个视角来了解计算机(更准确地说是网站建设编程工具)的意义。
在一次接受采访的过程中,史蒂夫·保罗·乔布斯(Steve Paul Jobs)有一段关于计算机的描述:“我认识到,人类擅长制造工具,工具可以提高工作效率,在我看来计算机就是大脑中的‘自行车’,是我们超越自身的工具。”乔布斯的这段话与其说是赞扬计算机,不如说是赞扬运行在计算中的程序,也就是网站建设编程工具。我们都知道,虽然网站建设编程工具的运行离不开硬件的支持,但是能让计算机成为“智力自行车”,还得靠灵活多变、功能丰富的网站建设编程工具。严格意义上的程序是20世纪50年代随着电子计算机的发明而产生的。而更广泛意义上的程序则产生得更早,例如二战时期德国军队广泛使用的“恩尼格玛密码机”。这种密码机是一系列使用相似的转子机械加密、解密机器的统称,它使用机械和电子结合的方式实现了加密和解密的算法。恩尼格玛密码机虽然并不是严格意义上的程序,但是它的运行流程却体现出了程序的本质。这种密码机虽然在当时取得了巨大的成就,但是它的程序是靠硬件来实现的。也就是说,要想改变加密的算法,必须改动硬件。这对于已经大量装备的产品来说几乎是不可能实现的,因此在二战期间不可避免地被芬兰人雷杰夫斯基通过反复尝试的方法成功破解。
在计算机发明出来后,程序脱离了硬件的限制而成为可以自由改动的网站建设编程工具。这是一个伟大的进步,通过网站建设编程工具和硬件的解耦,网站建设编程工具成了计算机的“灵魂”,计算机的功能由运行在其中的网站建设编程工具所定义。
自从计算机被发明出来后,它被广泛地应用到各个行业中。从早期火炮的弹道计算到现在无所不在的移动应用,这期间网站建设编程工具发生了天翻地覆的变化,在从简单到复杂,从单机到互联的进化过程中,有两个核心问题始终贯穿其中,那就是如何描述问题及解决问题。
网站建设关于面向过程的编程
在计算机发展的早期,计算机的应用还不广泛,大部分计算机都是用于解决单一的问题,计算机系统(包括网站建设编程工具和硬件)都是针对单一问题而设计的。这就意味着硬件的用途较单一,不能应用到其他领域,同样,网站建设编程工具也是专用的。而网站建设编程工具的“专用”有两层含义:首先,网站建设编程工具是为了解决单一问题而设计的,和硬件一样,并不能应用到其他领域;其次,网站建设编程工具的设计依赖于具体的硬件,并不能移植到其他硬件系统中。
在现在看来,这种方式的网站建设编程工具有点不可思议。程序必须直接和CPU打交道,即编写的程序必须实时从CPU中读取数据,同时把运行的指令发送到CPU中。由于网站建设编程工具直接和CPU打交道,并且早期的CPU没有抽象的标准指令集,因此当时的网站建设编程工具都是针对特定的CPU设计的,几乎没有可移植性。
当然,这种方式的网站建设编程工具也并不是一无是处。因为针对的是单一问题,并且硬件的设计是针对具体问题的,所以当时的计算机系统中的硬件和网站建设编程工具都可以针对需要解决的问题进行优化。同时在问题的描述上,对于当时的网站建设编程工具并不是什么难题。以早期火炮的弹道计算机为例,它的问题描述就很简单,就是计算火炮射击时的角度。火炮射击的原理如图2.1所示
。
了解火炮原理的人都知道,火炮在射击时,炮弹受重力的影响并不是按照一条直线飞行,实际上炮弹的飞行轨迹是—条抛物线。因此在火炮射击时并不是直接瞄准目标,而是把炮口上仰,上仰的角度是根据炮弹出膛的速度和目标的距离计算出来的。弹道计算机就是在火炮瞄准时,根据目标的距离计算出火炮的仰角。因此弹道计算的问题描述很直接,就是根据目标的距离和炮弹的出膛速度,当然还包括大气温度、风向、风力等影响炮弹使用的各种因素,计算出火炮的仰角。而解决问题的核心就是抛物线的算法。
弹道计算程序是早期软件的典型形式,那时候程序功能很单一,也很简单,要解决的问题也是单一问题。所以那时程序的典型形式是使用数据结构描述程序的输入,使用一种或多种算法来计算输出。对于这类程序,尼古拉斯·沃斯(Niklaus Wirth)曾经给出了很精辟的定义:数据结构+算法=程序。
随着计算机价格的逐步降低,人们开始尝试着把计算机应用到更多的领域。不同领域,对软件的要求也不同。传统的根据输入计算输出的程序被组合成更复杂的软件系统。在这个过程中,代码的可维护性、可读性和可重用性这些非功能性需求也越来越受到重视。由于计算逻辑的日益复杂,原先的顺序程序设计已不能适应复杂的程序开发。为了应对更复杂的问题域,迪杰斯特拉(E.W.Dijikstra)提出了结构化程序设计的设计思想。
网站建设结构化程序设计采用以模块功能和处理过程为中心的设计原则,从而能设计出结构清晰、易读、易于扩展的程序。为了能够应对日益复杂的程序,结构化程序设计使用了基本的顺序结构、选择结构和循环结构来控制程序的执行流程,同时把算法封装到子函数中,从而实现执行流程和算法的分离。在那个年代,算法是软件最核心的“价值和资产”。执行流程和算法的分离就意味着可以对算法单独封装和重用。一个经过使用和验证的算法,可以很快地移植到其他程序中。算法代码的重用对软件公司至关重要,不但可以通过重用算法有效地降低开发成本,而且可以把成熟的算法单独打包出售。
网站建设结构化程序设计是对面向过程程序设计的改进,也属于面向过程程序设计的一种,其编程思想是以过程为中心,强调解决问题的流程和算法。一般而言,结构化编程都被应用到单一应用程序中,在设计时,由于只需要解决单一问题,程序员可以把全部精力都放在解决问题的算法和流程上。好了,
深圳网站建设公司本文关于“编程工具的发展历程以及面向过程的编程”的知识就分享到这里,谢谢关注,博纳网络编辑整理。