ps:本文章的图片内容来源都是来自于湖科大教书匠高老师的视频,声明:仅供自己复习
这里附上视频链接地址:1-4 计算机软件_哔哩哔哩_bilibili
程序是软件的重要组成部分,一台计算机中的全部程序和数据就构成了这台计算机的软件系统
一般将计算机软件分为系统软件和应用软件两大类
系统软件是为了用户能够高效、安全的使用和管理计算机硬件资源,以及为开发和运行应用软件而编制的各种软件系统,软件介于计算机硬件系统与应用软件之间,通常它与具体应用关系不大
系统软件主要包括操作系统、数据库管理系统、语言处理程序啊,例如汇编程序、编译程序、解释程序等服务性程序,例如诊断程序、排错程序等
应用软件是为用户使用计算机来解决某些应用问题而编制的程序,例如科学计算程序、工程设计程序、数据处理程序、企业管理程序、自动控制程序等。我们平时经常使用的网页浏览器软件、办公软件、游戏软件、视频播放软件等都是应用软件
在电子数字计算机发展的早期阶段,人们使用机器语言来编程,也就是使用机器指令的二进制编码编写程序。这种方式编程繁琐、易出错且不易排错,限制了计算机的使用
但是,计算机可以直接识别和执行用机器语言编写的程序,即机器语言程序,又称为目标程序,其执行速度最快
为了克服机器语言程序可读性差、易出错和难排错的缺点,人们想到了一种办法,那就是使用一些便于记忆并且能够表示指令功能的助记符来编写程序,这些助记符以及使用它们进行编程的规则就构成了汇编语言
相比于使用机器语言编程,使用汇编语言编程在一定程度上降低了编程难度,简化了编程过程,编程更加灵活
但是,由于使用汇编语言编写的程序,即汇编语言程序是由一些助记符所表示的不同机器指令构成的,因此计算机不能直接识别和执行汇编语言程序,汇编语言程序必须通过汇编器啊,也就是汇编程序翻译成机器语言程序才能执行
尽管使用汇编语言编程比使用机器语言编程的难度有所降低,但是汇编语言仍然是面向机器的语言,人们在使用汇编语言编程前还是要花费很多时间熟悉所使用计算机的指令集,然后才能使用其相应的符号语言及汇编语言来编写程序,因此还是很不方便
为了使不熟悉具体计算机硬件结构和相应指令集的人也能很方便的为这台计算机编写程序,人们又创造了各种接近于人类语言的高级语言,高级语言不是面向机器的语言,也就是与具体的计算机无关,而是面向使用者的程序设计语言。只要使用者稍加学习,就可以使用一门高级语言编写程序,这有利于让更多人使用计算机,比较有影响的高级语言有C++、java、python等
计算机不能识别和执行用高级语言编写的程序,即高级语言程序,需要将其通过编译器及编译程序翻译成汇编语言或机器语言
机器语言程序是指用机器语言编写的程序,也称为目标程序,可被计算机直接识别和执行。而汇编语言程序是指用汇编语言编写的程序,需要经过汇编程序,也称为汇编器,翻译成机器语言程序,才能被计算机识别和执行。高级语言程序是指用高级语言编写的程序,也称为源程序,需要经过编译程序,也称为编译器翻译成汇编语言程序,然后经过汇编程序翻译成机器语言程序才能被计算机识别和执行。
当然,也有的编译程序可将高级源程序直接翻译成机器语言程序,对于解释型的高级语言,程序需要经过解释程序,也称为解释器。将程序中的语句按执行顺序逐条翻译成机器指令并执行,翻译一条就执行一条,并不会产生完整的机器语言程序
那么上述编译程序、解释程序以及汇编程序都属于翻译程序
随着计算机硬件和软件的不断发展,人们又创造出了一类程序,称为操作系统,它属于系统软件这个类别。操作系统提供了在汇编语言和高级语言的使用和实现过程中所需的某些基本操作
操作系统负责控制并管理计算机系统全部硬件资源,例如CPU内存和外部设备和软件资源(例如编译程序,应用程序等)
操作系统为用户使用计算机系统提供了极为方便的条件
随着计算机应用领域的逐渐扩大,还相应地出现了其他各类系统软件(例如数据库管理系统,网路系统等)以及多种多样应用软件
随着软件的进一步发展,将会出现更高级的计算机语言,其发展方向是标准化,积木化,产品化以及智能化,最终向自然语言发展,它们能够自动生成程序
习题:
湖科大高老师的视频内容