程序设计的认识和发展(对程序设计基础的认识)

程序设计 92
本篇文章给大家谈谈程序设计的认识和发展,以及对程序设计基础的认识对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。 本文目录一览: 1、计算机程序设计的发展史

本篇文章给大家谈谈程序设计的认识和发展,以及对程序设计基础的认识对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。

本文目录一览:

计算机程序设计的发展史

计算机语言的发展历史:

二十世纪四十年代当计算机刚刚问世的时候,程序员必须手动控制计算机。当时的计算机十分昂贵,唯一想到利用程序设计语言来解决问题的人是德国工程师楚泽(konrad

zuse)。几十年后,计算机的价格大幅度下跌,而计算机程序也越来越复杂。也就是说,开发时间已经远比运行时间来得宝贵。于是,新的集成、可视的开发环境越来越流行。它们减少了所付出的时间、金钱(以及脑细胞)。只要轻敲几个键,一整段代码就可以使用了。这也得益于可以重用的程序代码库。随着c,pascal,fortran,等结构化高级语言的诞生,使程序员可以离开机器层次,在更抽象的层次上表达意图。由此诞生的三种重要控制结构,以及一些基本数据类型都能够很好的开始让程序员以接近问题本质的方式去思考和描述问题。随着程序规模的不断扩大,在60年代末期出现了软件危机,在当时的程序设计模型中都无法克服错误随着代码的扩大而级数般的扩大,以至到了无法控制的地步,这个时候就出现了一种新的思考程序设计方式和程序设计模型-----面向对象程序设计,由此也诞生了一批支持此技术的程序设计语言,比如eiffel,c++,java,这些语言都以新的观点去看待问题,即问题就是由各种不同属性的对象以及对象之间的消息传递构成。面向对象语言由此必须支持新的程序设计技术,例如:数据隐藏,数据抽象,用户定义类型,继承,多态等等。

什么是程序设计?

程序设计(Programming)是给出解决特定问题程序的过程,是软件构造活动中的重要组成部分。程序设计往往以某种程序设计语言为工具,给出这种语言下的程序。程序设计过程应当包括分析、设计、编码、测试、排错等不同阶段。专业的程序设计人员常被称为程序员。

某种意义上,程序设计的出现甚至早于电子计算机的出现。英国著名诗人拜伦的女儿Ada Lovelace曾设计了巴贝奇分析机上解伯努利方程的一个程序。她甚至还建立了循环和子程序的概念。由于她在程序设计上的开创性工作,Ada Lovelace被称为世界上第一位程序员。

任何设计活动都是在各种约束条件和相互矛盾的需求之间寻求一种平衡,程序设计也不例外。在计算机技术发展的早期,由于机器资源比较昂贵,程序的时间和空间代价往往是设计关心的主要因素;随着硬件技术的飞速发展和软件规模的日益庞大,程序的结构、可维护性、复用性、可扩展性等因素日益重要。

另一方面,在计算机技术发展的早期,软件构造活动主要就是程序设计活动。但随着软件技术的发展,软件系统越来越复杂,逐渐分化出许多专用的软件系统,如操作系统、数据库系统、应用服务器,而且这些专用的软件系统愈来愈成为普遍的计算环境的一部分。这种情况下软件构造活动的内容越来越丰富,不再只是程序设计活动了,还包括数据库设计、用户界面设计、接口设计、通信协议设计和复杂的系统配置过程。

程序设计(Programming)是指设计、编制、调试程序的方法和过程。它是目标明确的智力活动。由于程序是软件的本体,软件的质量主要通过程序的质量来体现的,在软件研究中,程序设计的工作非常重要,内容涉及到有关的基本概念、工具、方法以及方法学等。

按照结构性质,有结构化程序设计与非结构化程序设计之分。前者是指具有结构性的程序设计方法与过程。它具有由基本结构构成复杂结构的层次性,后者反之。按照用户的要求,有过程式程序设计与非过程式程序设计之分。前者是指使用过程式程序设计语言的程序设计,后者指非过程式程序设计语言的程序设计。按照程序设计的成分性质,有顺序程序设计、并发程序设计、并行程序设计、分布式程序设计之分。按照程序设计风格,有逻辑式程序设计、函数式程序设计、对象式程序设计之分。

程序设计的基本概念有程序、数据、子程序、子例程、协同例程、模块以及顺序性、并发性、并行性、和分布性等。程序是程序设计中最为基本的概念,子程序和协同例程都是为了便于进行程序设计而建立的程序设计基本单位,顺序性、并发性、并行性和分布性反映程序的内在特性。

程序设计规范是进行程序设计的具体规定。程序设计是软件开发工作的重要部分,而软件开发是工程性的工作,所以要有规范。语言影响程序设计的功效以及软件的可靠性、易读性和易维护性。专用程序为软件人员提供合适的环境,便于进行程序设计工作。

计算机程序或者软件程序(通常简称程序)是指一组指示计算机每一步动作的指令,通常用某种程序设计语言编写,运行于某种目标体系结构上。打个比方,一个程序就像一个用汉语(程序设计语言)写下的红烧肉菜谱(程序),用于指导懂汉语的人(体系结构)来做这个菜。 通常,计算机程序要经过编译和链接而成为一种人们不易理解而计算机理解的格式,然后运行。未经编译就可运行的程序通常称之为脚本程序。

怎么通俗地理解程序设计

程序设计是面向功能需求而非艺术(或美观)的设计。

程序设计是目标是不断变化的设计。因为

1.客户在实际拿到程序之前是无法准确描述他的需求的

2.客户的需求变化会贯穿程序设计开发的全过程

程序设计是要求100%正确的设计。在上百万行代码中,只要一个字节错了,那就可能导致价值几亿美元的

航天飞机

失事。相对而言,服装和建筑对正确率的要求没有那么严苛。

程序设计是一种渐进的、不断完善的设计。

设计和开发

交替进行。这是因为

1.程序的复杂性已经远远超过一个人的大脑所能完全理解的程度。一开始设计好然后直到完工都不修改设计的情况极为罕见。

2.随着计算技术依照

摩尔定律

的飞速发展,程序开发的主要成本已经不再是计算资源而是人力资源了。与其让程序员绞尽脑汁

模拟程序

运行推测程序正确性,不如让程序实际运行

3.重新编译一个巨大程序,相对于重新缝制一件时装、重新建造一座大楼,其成本几乎可以忽略不计。因此程序员往往会修改一点儿就立刻重新编译运行。

在计算机方面,硬件设计由于构建成本比构建软件高得多,往往会使用

计算机模拟

。这也是服装设计和建筑设计目前的趋势(

计算机辅助设计

,CAD),让计算机建立

3D模型

,从而避免实际造出来才发现有问题的情况。当然目前

模拟技术

还不是很完善。

程序设计的认识和发展的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于对程序设计基础的认识、程序设计的认识和发展的信息别忘了在本站进行查找喔。

扫码二维码