什么是高级编程语言?——跟老吕学Python编程

什么是高级编程语言?——跟老吕学Python编程

  • 高级编程语言简介
  • 高级编程语言发展历程
  • 高级编程语言特点
  • 高级编程语言分类
    • 命令式语言
    • 函数式语言
    • 逻辑式语言
    • 面向对象语言
  • 常见的高级编程语言及其特点和应用领域
  • 高级编程语言性能分析
  • 高级编程语言的工作方式

什么是高级编程语言?——跟老吕学Python编程

高级编程语言简介


计算机语言具有高级语言和低级语言之分。而高级语言又主要是相对于汇编语言而言的,它是较接近自然语言和数学公式的编程,基本脱离了机器的硬件系统,用人们更易理解的方式编写程序。编写的程序称之为源程序。

高级语言并不是特指的某一种具体的语言,而是包括很多编程语言,如流行的java,c,c++,C#,pascal,python,lisp,prolog,FoxPro,易语言,中文版的C语言等等,这些语言的语法、命令格式都不相同。

高级语言与计算机的硬件结构及指令系统无关,它有更强的表达能力,可方便地表示数据的运算和程序的控制结构,能更好的描述各种算法,而且容易学习掌握。但高级语言编译生成的程序代码一般比用汇编程序语言设计的程序代码要长,执行的速度也慢。所以汇编语言适合编写一些对速度和代码长度要求高的程序和直接控制硬件的程序。高级语言、汇编语言和机器语言都是用于编写计算机程序的语言。

高级语言程序“看不见”机器的硬件结构,不能用于编写直接访问机器硬件资源的系统软件或设备控制软件。为此,一些高级语言提供了与汇编语言之间的调用接口。用汇编语言编写的程序,可作为高级语言的一个外部过程或函数,利用堆栈来传递参数或参数的地址。



什么是高级编程语言?——跟老吕学Python编程

高级编程语言发展历程


在编程语言经历了机器语言,汇编语言等更新之后,人们发现了限制程序推广的关键因素——程序的可移植性。需要设计一个能够不依赖于计算机硬件,能够在不同机器上运行的程序。这样可以免去很多编程的重复过程,提高效率,同时这种语言又要接近于数学语言或人的自然语言。在计算机还很稀缺的50年代,诞生了第一个高级编程语言。当时计算机的造价不菲,但是每天的计算量有有限,如何有效的利用计算机有限的计算能力成为了当时人们面对的问题。同时,因为资源的稀缺,计算机的运行效率也成为了那个年代工程师追寻的目标。为了更高效的使用计算机,人们设计出了高级编程语言,来满足人们对于高效简的编程语言的追求。用高级编程语言编写的程序需要经过翻译,翻译成机器所能识别的二进制数才能由计算机去执行。虽然,高级编程语言编写的程序需要一些时间去翻译代码,从而降低了计算机的执行效率,但是实践证明,高级编程语言为工程师带来的便利远远大于降低的执行效率。

经过各软件工程师和专家的不懈努力,1954年,第一个完全意义的高级编程语言FORTRAN问世了,他完全脱离了特定机器的局限性,是第一个通用性的编程语言。从第一个编程语言问世到现今,共有几百种高级编程语言出现,很多语言成为了编程语言发展道路上的里程碑,影响很大。 比如:BASIC、JAVA、C、C++、python等。 高级编程语言也从早期的控制信号变成了现在的有结构有格式的程序编写工具,C++等语言的出现更是开启了面向对象编程语言的新章。同时伴随着软件编写效率的提高,软件开发也逐渐变成了有规模、有产业的商业项目。



高级编程语言特点


因为明确的目标性以及理解容易,一个新手很容易去学习高级编程语言。同时高级编程语言因为发展的历史,拥有很多函数库,用户可以根据自身的需求在代码中加入头文件来调用这些函数来实现自己的功能,当然使用者也可以根据自己的喜好编写函数来在后续的代码中调用。

高级编程语言作为一种通用的编程语言,它的语言结构和计算机本身的硬件以及指令系统无关,它的可阅读性更强,能够方便的表达程序的功能,更好的描述使用的算法。同时,它更容易被初学者所掌握,很容易学习。而且容易学习掌握。但是高级编程语言因为是一种编译语言,所以他的运行速度比汇编程序要低,同时因为高级语言比较冗长,所以代码的执行速度也要慢一些。

高级编程语言,作为用户层面的编程工具,用户并不需要去了解硬件的结构,而是去用逻辑的语言去实现想要的目标,但是因为高级编程语言的架构高于汇编,所以不能编写直接访问硬件资源的系统程序,因此,高级编程语言必须要调用汇编语言编写的程序来访问硬件地址。



高级编程语言分类


命令式语言

这种语言的语义基础是模拟“数据存储/数据操作”的图灵机可计算模型,十分符合现代计算机体系结构的自然实现方式。其中产生操作的主要途径是依赖语句或命令产生的副作用。现代流行的大多数语言都是这一类型,比如 Fortran、Pascal、Cobol、C、C++、Basic、Ada、Java、C# 等,各种脚本语言也被看作是此种类型。

函数式语言

这种语言的语义基础是基于数学函数概念的值映射的λ算子可计算模型。这种语言非常适合于进行人工智能等工作的计算。典型的函数式语言如 Lisp、Haskell、ML、Scheme 、F#等。

逻辑式语言

这种语言的语义基础是基于一组已知规则的形式逻辑系统。这种语言主要用在专家系统的实现中。最著名的逻辑式语言是 Prolog。

面向对象语言

现代语言中的大多数都提供面向对象的支持,但有些语言是直接建立在面向对象基本模型上的,语言的语法形式的语义就是基本对象操作。主要的纯面向对象语言是 Smalltalk。



常见的高级编程语言及其特点和应用领域

C语言:C语言是一种广泛用于底层系统开发的高级编程语言,如微软的Windows操作系统。它以强大的性能和灵活性著称,但学习难度较高。

Java:Java主要用于企业级应用开发,如网站平台、交易网站、保险和金融网站等。Java在市场上提供了大量的工作机会,但竞争也相当激烈。

Python:Python的主要应用领域包括爬虫、数据分析、自动化测试和机器学习。它易于学习,并且被多个领域的开发者所使用,包括程序员和运营、财务等非程序员岗位。

C#:C#主要用于Windows应用、商业应用和软件开发领域,如网站应用系统、桌面应用系统、手机游戏开发等。

JavaScript:JavaScript最初主要用于前端开发,但现在它也被用于后端开发。它在Web前端开发中占据了不可撼动的地位,并且是前后端开发必学的语言之一。

PHP:PHP在Web开发领域曾经占据很大市场份额,但近年来其市场地位有所下降。PHP以其易学、开发容易和维护方便的特点而流行,但现在其他语言也能完成PHP能做的功能。



高级编程语言性能分析


接口分析
接口主要指高级语言与汇编语言之间的联系性,Ada语言在应用的过程中可以访问汇编语言,访问情况的实现只需要程序功能,程序功能在使用的过程中破解所设定的环节,进行访问工作。对C语言而言,将汇编语言作为整体看成一个独立的部分,将独立的部分加入C的程序中,具有通讯功能。对于Macros的应用,可以应用在汇编语言中,借助编译器完成各种工作。语言的性能并没有改变,Java语言与汇编语言的 关系可以将其作为一个代码,此代码具有移植性,直接移植便可以进行操作,操作的过程方面并没有过多复杂程序。
寻址分析
Ada寻址情况主要借助的是SYSTEM实现,可以准确的寻址;C的寻址需要借助指针实现,可以精确的实现寻址,对于存储器寻址情况需要应用peek完成,Modula-2的寻址情况与 Ada所借助的情况一致,可以吸纳绝对的寻址。
位操作分析
对于不同语言具有不同的位情况,所表达的从句中可以明确指出Ada的位,会存在很多位的情况,将其组合,通过逻辑原理进行处理。C的主要功能是位操作,对于Modula-2主要借助BIYSTE,应用这样的方式可以准确进行位操作。
任务支持分析
不同的语言任务功能不一样,对于Ada具有较多的任务, 其支持性强,可以实现多种任务同时工作的情况。C与Ada相 比不具有这样的优势,Modula-2与Ada相比并没有其完善性,需要借助机制实现。对于这样的优势是Ada,可以独立的完成。
控制程序分析
系统的设定需要控制程序,对于高级语言会涵盖一定的控制结构,像Ada中具有控制能力,对于其分支可以完全掌控其运行。C中并没有完善的控制结构,主要是对分值方面使用灵活,并且简单易操作,在使用的过程中应严格按照其规定操作,避免人为原因造成问题出现。Modula-2的控制系统只是控制分支,转移需要应用FXIT,操作的过程中应严格审查操作环节,避免其操作的过程中造成出现问题,操作时应兢兢业业,因为这方面的人为操作易引起问题的形成。



高级编程语言的工作方式


高级语言设计的程序必须经过“翻译”以后才能被机器执行。“翻译”的方法有两种,一种是解释,一种是编译。解释是把源程序翻译一句,执行一句的过程,而编译是源程序翻译成机器指令形式的目标程序的过程,再用链接程序把目标程序链接成可执行程序后才能执行。

解释翻译过程。对高级语言程序进行解释并执行的程序称为解释程序(软件)。它的功能是读入源程序,按源程序动态逻辑顺序进行逐句分析、翻译,解释一句执行一句,不产生任何中间代码,最终得到程序的执行结果。



如若本文能帮您, 希望您能关注Python老吕的CSDN博客 ;
您可以在本文进行评论,老吕将努力快速回复,和您近距离交流各种问题;
博主ID:Python老吕,希望大家点赞、评论、收藏。


本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/273638.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

MUMU模拟器12连logcat的方法

大家好,我是阿赵。   在开发手机游戏的时候,在真机上会出现各种问题,在查询问题的时候,安卓手机需要用adb连接来连接手机看logcat输出分析问题。但由于连接手机比较麻烦,所以我都习惯在电脑用安卓模拟器来测试。   …

R语言基础的代码语法解译笔记

1、双冒号,即:“::” 要使用某个包里的函数,通常做法是先加载(library)包,再调用函数。最新加载的包的namespace会成为最新的enviroment,某些情况下可能影响函数的结果。而package name::funct…

角蜥优化算法 (Horned Lizard Optimization Algorithm ,HLOA)求解无人机路径优化

一、无人机路径规划模型介绍 无人机三维路径规划是指在三维空间中为无人机规划一条合理的飞行路径,使其能够安全、高效地完成任务。路径规划是无人机自主飞行的关键技术之一,它可以通过算法和模型来确定无人机的航迹,以避开障碍物、优化飞行时间和节省能量消耗。 二、算法介…

Appium系列(1)安装启动Appium

Appium环境准备 Mac电脑jdk环境AndroidSDK环境node>8.1.0(最好用最新版本) 安装命令 npm i -g appium安装不成功请检查node 版本是否正确 安装成功命令行输入appium回车查看 安装驱动程序 1、先检查当前驱动情况 通过 appium driver list 进行…

【go语言开发】redis简单使用

本文主要介绍redis安装和使用。首先安装redis依赖库,这里是v8版本;然后连接redis,完成基本配置;最后测试封装的工具类 文章目录 安装redis依赖库连接redis和配置工具类封装代码测试 欢迎大家访问个人博客网址:https://…

系统学习c++类和对象——深度理解默认成员函数

前言:类和对象是面向对象语言的重要概念。 c身为一门既面向过程,又面向对象的语言。 想要学习c, 首先同样要先了解类和对象。 本节就类和对象的几种构造函数相关内容进行深入的讲解。 目录 类和对象的基本概念 封装 类域和类体 访问限定符…

Everything:文件查找工具,一搜即得

名人说:东边日出西边雨,道是无晴却有晴。——刘禹锡 创作者:Code_流苏(CSDN)(一个喜欢古诗词和编程的Coder😊) 目录 一、软件介绍①Everything②核心功能③原理 二、下载安装①下载②安装 三、使用方法①文…

吴恩达机器学习笔记十六 如何debug一个学习算法 模型评估 模型选择和训练 交叉验证测试集

如果算法预测出的结果不太好,可以考虑以下几个方面: 获得更多的训练样本 采用更少的特征 尝试获取更多的特征 增加多项式特征 增大或减小 λ 模型评估(evaluate model) 例如房价预测,用五个数据训练出的模型能很好的拟合这几个数据&am…

Linux调试器--gdb的介绍以及使用

文章目录 1.前言 ✒️2.介绍gdb✒️3.Debug模式和Release模式的区别✒️4.如何使用gdb✒️1️⃣.在debug模式下编译2️⃣.进入调试3️⃣ .调试命令集合⭐️⭐️ 1.前言 ✒️ 🕗在我们之前的学习中已经学会了使用vim编译器编写c/c代码,但是对于一个程序员…

OpenCV 图像的几何变换

一、图像缩放 1.API cv2.resize(src, dsize, fx0,fy0,interpolation cv2.INTER_LINEAR) 参数: ①src :输入图像 ②dsize:绝对尺寸 ③fx,fy:相对尺寸 ④interpolation:插值方法 2.代码演示 import cv2 …

Python——读写属性

采用读写属性的目的就是把录入的数据控制在合理区间。 如:学生的年龄(age),学生的身高(height)... 方法一:利用实例方法来控制 class Student:def __init__(self,name"",age0):self.…

Linux:kubernetes(k8s)prestop事件的使用(10)

他的作用是在结束pod容器之后进行的操作 apiVersion: v1 # api文档版本 kind: Pod # 资源对象类型 metadata: # pod相关的元数据,用于描述pod的数据name: nginx-po # pod名称labels: # pod的标签type: app #这个是随便写的 自定义的标签version: 1.0.0 #这个…

PostgreSQL 安装部署

文章目录 一、PostgreSQL部署方式1.Yum方式部署2.RPM方式部署3.源码方式部署4.二进制方式部署5.Docker方式部署 二、PostgreSQL部署1.Yum方式部署1.1.部署数据库1.2.连接数据库 2.RPM方式部署2.1.部署数据库2.2.连接数据库 3.源码方式部署3.1.准备工作3.2.编译安装3.3.配置数据…

C语言 --- 指针(5)

目录 一.sizeof和strlen对比 1.sizeof 2.strlen 3.strlen 和sizeof的对比 二.数组和指针笔试题目详解 回顾:数组名的理解 1.一维数组 2.字符数组 代码1: 代码2: 代码3: 代码4: 代码5: 代码6&am…

SSM整合项目(使用Vue3 + Element-Plus创建项目基础页面)

1.配置Vue启动端口 1.修改vue.config.js const {defineConfig} require(vue/cli-service) module.exports defineConfig({transpileDependencies: true }) module.exports {devServer: {port: 9999 //启动端口} }2.启动 2.安装Element Plus 命令行输入 npm install eleme…

【leetcode热题】排序链表

给你链表的头结点 head ,请将其按 升序 排列并返回 排序后的链表 。 示例 1: 输入:head [4,2,1,3] 输出:[1,2,3,4]示例 2: 输入:head [-1,5,3,4,0] 输出:[-1,0,3,4,5]示例 3: 输入…

骑行瓦恭村的记忆

昆富公路是一条蜿蜒的丝带,引领着校长骑行这群热爱骑行的骑友,穿越时光的隧道,直达心灵深处那个被岁月抚摸得斑斑点点的小村庄——瓦恭村。大普吉隧道如同时光的门扉,每一次穿越,都伴随着轰鸣的排气扇声音,…

新规正式发布 | 百度深度参编《生成式人工智能服务安全基本要求》

2024年2月29日,全国网络安全标准化技术委员会( TC260 )正式发布《生成式人工智能服务安全基本要求》(以下简称《基本要求》)。《基本要求》规定了生成式人工智能服务在安全方面的基本要求,包括语料安全、模…

HarmonyOS 关系型数据 整体测试 进行 初始化 增删查改 操作

好啊 前面的文章 HarmonyOS 数据持久化 关系型数据库之 初始化操作 HarmonyOS 数据持久化 关系型数据库之 增删改逻辑编写 HarmonyOS 数据持久化 关系型数据库之 查询逻辑编写 我们分别编写了 初始化数据库表 增删查改操作 的逻辑代码 那么 下面我们就来整体操作一下 然后 这…

Python中的并发编程:多线程与多进程的比较【第124篇—多线程与多进程的比较】

Python中的并发编程:多线程与多进程的比较 在Python编程领域中,处理并发任务是提高程序性能的关键之一。本文将探讨Python中两种常见的并发编程方式:多线程和多进程,并比较它们的优劣之处。通过代码实例和详细的解析,…