软件技术的兴起和发展

简介: 软件技术的兴起和发展

计算机刚刚问世时,还未建立“软件”这一概念,随着计算机的发展及应用范围的扩大,逐渐
形成了软件系统。
在早期的计算机中,使用者必须根据机器自身能识别的语言

  • 机器语言(机器指令)按解

题要求编写出机器可直接运行的程序。由于机器不同,机器语言也不同,因此人们在不同的机器
上编程,就需熟悉不同机器的机器指令,使用极不方便,写出的程序很难读懂。20世纪50年代
后,逐渐形成了符号语言和汇编语言,这种语言虽然可以不用 0/1 代码编程,改善了程序的可读
性,但它们仍是面向机器的,即不同的机器各自有不同的汇编语言。为了使这种符号语言转变成
机器能识别的语言,人们又创造了汇编程序,用于把汇编语言翻译成机器语言
为了摆脱对具体机器的依赖,在汇编语言之后又出现了面向问题的高级语言。使用高级语
言编程可以不了解机器的结构,高级语言的语句通常是一个或一组英语词汇,词义本身反映出命
令的功能,它比较接近人们习惯用的,自然语言和数学语言,使程序具有很强的可读性。高级语言
的发展经历了几个阶段。第一阶段的代表语言是1954 年问世的 FORTRAN,它主要面向科学计
算和工程计算。第二阶段可视为结构化程序设计阶段,其代表是1968年问世的 PASCAL. 语言,
它定义了一个真正的标准语言,按严谨的结构化程序编程,具有丰富的数据类型,写出的程序易
读懂、易查错。第三阶段是面向对象程序设计阶段,其代表语言是C++。近年来随着网络技术
的不断发展,又出现了更适应网络环境的面向对象的 Java 语言,而且随着Interet 技术的发展和
应用,Java 语言越来越受到人们普遍欢迎。
为了使高级语言描述的算法在机器上执行,同样需要有一个翻译系统,于是产生了编译程序
和解释程序,它们能把高级语言翻译成机器语言。
可见,随着各种语言的出现,汇编程序、编译程序、解释程序的产生,逐渐形成了软件系统
随着计算机应用领域的不断扩大,外部设备的增多,为了使计算机资源让更多用户共享,又出现了操作系统。操作系统能协调管理计算机中各种软件、硬件及其他信息资源,并能调度用户
的的作业程序,使多个用户能有效地共用一套计算机系统。操作系统的出现使计算机的使用效率
成倍地提高,并且为用户提供了方便的使用手段和令人满意的服务质量。例如,DOS、UNIX 和
Windows 等
此外,
一 些服务性程序,如装配程序、调试程序、诊断程序和排错程序等,也逐渐形成。特别
是随着计算机在信息处理、情报检索及各种管理系统中应用的发展,要求大量处理某些数据,建
立和检索大量的表格。这些数据和表格按一定的规律组织起来,使用户使用更方便,于是出现了
数据库。数据库和数据管理软件一起便组成了数据库管理系统。而且随着网络的发展,文产生
了网络软件等。
以上所述的各种软件均属于系统软件,而软件发展的另一个主要内容就是应用软件。应用
软件种类繁多,它是用户在各自的行业中开发和使用的各种程序。如各种财务软件、办公用的文
宇处理和排版软件、帮助管理日常业务工作和图文报表的“电子表格”和“数据库”软件、帮助工
程设计的 CAD 软件以及各种实用的网络通信软件等。
软件发展有以下几个特点。
(1)开发周期长
研制一个软件往往因其规模庞大而需较长的开发周期。例如,美国穿梭号宇宙飞船的软件
包含4000 万行目标代码,倘若一个人一年开发一万行程序,则需集中4 000 人花一年时间才能
完成,市且要做到4000 人的默契配合,涉及种种技术问题的协调,如分析方法、设计方法、形式
说明方法、版本标准等都得有严格的规范,其难度远远超过自动化程度极高的硬件制造。
(2)制作成本昂贵
超大规模集成电路技术给硬件制造业带来巨大利益,使硬件的价格不断下降,使一台普通的
微型计算机的价格与一台彩色电视机的价格相当,而且还在下降。可是软件的开发完全依赖于
人工,致使软件开发成本不断上涨,在美国,软件成本约占计算机系统总成本的90%,己成为司
空见惯的现象。
(3)检测软件产品质量的特殊性
-种软件在刚开始推出时,,主要实现其面向领域所需的核心功能,之后逐步集成大量的附加
功能。也就是说,要完善
一个软件产品,必须在应用过程中不断加以修改、补充。只有使用了-
定时间后,才能对软件产品质量进行确定。
尽管软件技术兴起和发展比硬件晚,而且其发展速度没有硬件快(如微处理器的性能以
Moore 定律所述的几何级数增长),但是仍可以说,如果没有当今的软件技术,计算机系统和应用
的发展也不会有今天这样的成就。客观地说,软件的发展不惭激励着微处理器和存储器性能的
增长。
世界各国当前都十分重视软件人才的培养和软件产业的形成,但实际上它们都很难与当前
计算机应用普及的广度和深度相适应。也正因为如此,有些软件开发商瞄准了特定的市场,一旦
在性能、质量占到上风时,就会很快积聚财富,成为新的世界级富商。

相关文章
|
30天前
|
安全 物联网 区块链
未来已来:探索新兴技术的浪潮与应用
【8月更文挑战第13天】 随着科技的飞速发展,新技术不断涌现,改变着我们生活的方方面面。本文将深入探讨区块链技术、物联网(IoT)、虚拟现实(VR)等新兴技术的发展趋势和应用场景,揭示这些技术如何塑造未来社会的面貌。我们将从基本概念入手,逐步展开到实际应用案例,并展望未来可能带来的影响。
|
4月前
|
存储 云计算 数据安全/隐私保护
拥抱变革:我的云计算技术感悟
【4月更文挑战第27天】 在数字化的浪潮中,我经历了从怀疑到接受,再到深度依赖云计算的过程。这篇文章将分享我个人的技术感悟,探讨如何通过学习和适应云计算技术,提升工作效率,应对快速变化的市场需求。
|
11天前
|
供应链 物联网 区块链
未来已来:探索新兴技术的潮流与实践
【8月更文挑战第31天】 随着科技的不断进步,新兴技术如区块链、物联网(IoT)、虚拟现实(VR)等正在重塑我们的世界。本文将深入探讨这些技术背后的发展趋势和应用场景,通过实际代码示例揭示它们如何从理论走向实践。我们将一起见证技术如何推动社会进步,并思考我们如何在这个快速变化的世界中保持同步。
|
22天前
|
人工智能 自然语言处理 算法
人工智能浪潮下的编程教育革新
【8月更文挑战第20天】在AI技术的推动下,编程教育正在经历一场革命性变化。本文将探讨这一变革如何影响学习者、教育者和行业实践,并分析其对传统教学方法和课程设计的影响及未来趋势。
|
3月前
|
供应链 物联网 区块链
未来已来:新兴技术引领社会变革
本文将深入探讨当前最热门的三大新兴技术:区块链、物联网以及虚拟现实,分析它们的发展趋势和应用场景。区块链技术以其独特的去中心化特性,正在改变金融、供应链等多个领域;物联网技术通过智能设备连接,实现信息的即时交换和处理,推动智慧城市和智能家居的发展;而虚拟现实技术则在游戏、教育、医疗等领域展现出巨大潜力。这些技术的融合与创新,预示着一个智能化、数字化的未来已经来临。
|
4月前
|
供应链 安全 物联网
未来脉络:新兴技术的革新之路与实践探索
【5月更文挑战第30天】随着科技的不断进步,一系列新兴技术正逐步走入我们的视野,重塑着社会的方方面面。本文将深入探讨区块链技术、物联网(IoT)以及虚拟现实(VR)等技术的最新发展趋势,并分析它们在不同应用场景中的潜力与挑战。区块链作为一种去中心化的信任机制,正在金融、供应链管理等领域展现其独特价值。物联网通过智能化设备连接物理世界与数字世界,推动智慧城市和智能家居的发展。而虚拟现实技术则在娱乐、教育、医疗等行业开辟了新的交互方式。这些技术的融合与创新,不仅预示着一个更加互联、智能的未来,也为各行各业带来了前所未有的转型机遇。
|
4月前
|
存储 分布式计算 算法
从算盘到云计算:计算机发展的壮丽历程
早期计算器的出现对计算机发展起到了重要作用。从算盘到机械计算器,再到现代计算机的诞生,计算能力不断提升,速度和通用性也得到了显著提升。个人电脑和移动计算机成为生活和工作中不可或缺的工具,云计算使计算机服务更加灵活和便捷
156 1
从算盘到云计算:计算机发展的壮丽历程
|
4月前
|
机器学习/深度学习 人工智能 vr&ar
计算机技术的崛起与未来展望
计算机技术的崛起与未来展望
122 0
|
4月前
|
存储 分布式计算 大数据
【云计算与大数据技术】云计算概论介绍
【云计算与大数据技术】云计算概论介绍
237 0
|
云计算
云计算的发展史
云计算的发展史自制脑图
148 0
云计算的发展史