什么是高级编程语言?——跟老吕学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老吕,希望大家点赞、评论、收藏。


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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【框架设计】MVC和MVVM对比图

1. MVC(Model-View-Controller) 单向通信View和Model通过Controller承上启下 2. MVVM(Model-View-ViewModel) 数据绑定M -> VM -> V DOM事件监听 V -> VM -> M 1. MVC是单向的,MVVM是双向的,…

服务器主机云主机在日常维护需要注意的几个点

服务器的日常维护对于确保服务器的稳定运行和安全性非常重要,以下是一些常见的服务器日常维护方面: 定期更新操作系统和软件:确保服务器的操作系统、应用程序以及安全补丁都是最新的,以填补已知的安全漏洞和提高系统性能。监视服务…

Stable Diffusion 详解

整体目标 文本生成图片;文本图片生成图片 网络结构 CLIP的文本编码器和图片生成器组成图像生成器,输入是噪声经过UNet得到图像特征,最后解码得到图像 前向扩散 模型直接预测图片难度比较大,所有让模型预测噪音然后输入-噪音…

MaxEnt模型与R语言结合:物种分布模拟的案例分析

在生态学研究中,物种分布模拟是一项至关重要的任务。它有助于我们理解物种与环境之间的复杂关系,预测物种在气候变化或人类活动影响下的潜在分布变化。近年来,随着计算机技术的不断发展,基于机器学习的物种分布模拟方法逐渐成为研…

用了一个select框出现的问题许多问题差不多搞了一个多小时最后还是百度解决了,百度伟大

问题出现 问题描述 select 多选框里的数据问题,我讲获取的数据信息放入框ref(null) 中,将数据返回到返回框里,一直发现存在问题,不能正常显示,百度里一下,发现没有百度到其他问题,最后换了一种…

【SpringCloud微服务实战02】Ribbon 负载均衡

Ribbon使用 Eureka中已经集成了Ribbon,无需额外引入,通过 @LoadBalanced 注解在请求中使用 Ribbon 负载均衡: @Bean @LoadBalancedpublic RestTemplate restTemplate() {return new RestTemplate(); } Ribbon工作流程图 Ribbon负载均衡策略 修改Ribbon负载均衡策略 方式一…

【python】time库知识整理

简介 python的time库是python内置库,主要负责处理与时间相关的事务。 获取当前时间 函数作用time()获取当前时间戳ctime()获取字符串形式的时间gmtime()调用内部方法,赋予属性,能够被程序调用执行 time返回的是时间戳 ctime是返回的我们…

【网络】数据在同网段和跨网段通信流程

情景一&#xff1a;同一广播域内&#xff0c;两台主机通信过程&#xff1a; 当NO要和N1通信时&#xff0c;假如N0知道N1的IP但却不知道它的MAC地址&#xff0c;那NO就会发送一个ARP的广播请求<1>&#xff08;里面源IP是NO 目标IP是N1 源MAC是N0 目标MAC是12个F&#xff0…

【仿真总结】基于matlab的传递函数计算与绘图

前言 在DC-DC电路控制算法中&#xff0c;PID控制是最常见且实用的&#xff0c;但实现前提有二&#xff0c;一是需要手算电路传递函数&#xff0c;二是需要将实际电路元件数值代入计算&#xff0c;第一步无法避免&#xff0c;但是在进行第二步时&#xff0c;存在大量基础、细致的…

使用Amazon Bedrock托管的Claude3 学习中国历史

最近被Amazon Bedrock托管的Claude3 刷屏了&#xff0c;那么先简单介绍下什么是Claude 3。 Claude 3是Anthropic 推出了下一代 Claude模型&#xff0c;针对不同用例进行优化的三种先进模型&#xff1a;Claude 3 Haiku、Claude 3 Sonnet 和 Claude 3 Opus&#xff0c;使用户能够…

Python速度大比拼:与主流编程语言的速度对决

在评估用于具体业务的编程语言时&#xff0c;经常考虑的一个关键指标之一是执行速度。Python以其简单性和可读性而闻名&#xff0c;但有时却因其性能而受到质疑。在这个领域&#xff0c;我们需要深入比较分析Python在执行速度方面与其他流行的编程语言相比的情况。 程语言执行速…

遥感与ChatGPT:科研中的强强联合

随着科技的飞速发展&#xff0c;人工智能&#xff08;AI&#xff09;已逐渐渗透到各个领域&#xff0c;为传统行业带来了前所未有的变革。其中&#xff0c;遥感技术作为观测和解析地球的重要手段&#xff0c;正逐渐与AI技术相结合&#xff0c;为地球科学研究与应用提供了全新的…

金蝶天燕 AMDC 替代redis

上传控制台文件到linux opt目录 解压安装包 tar -zxvf amdc_console_release_v2_x86_64.tar.gz 进入解压后的文件夹 cd amdc-console .执行启动命令 nohup ./amdc-console >nohup.out 2>&1 & 地址访问 http://ip:9001 三员管理中的三员初始密码 三员分别指&…

day16_Set_Map

今日内容 零、 复习昨日 一、Set 二、Map 零、 复习昨日 集合特点 长度不固定存储的数据类型不限制有丰富api方法可以调用有些有序,无序,或者有些允许重复有些会去重 集合体系图List 集合, 规定了所存储的元素 有序且允许重复常用的ArrayList 底层是数组,初始容量10存满后扩容,…

LLM 技术图谱(LLM Tech Map) Kubernetes (K8s) 与AIGC的结合应用

文章目录 1、简介2、基础设施3、大模型3、AI Agent&#xff08;LLM Agent&#xff09;4、AI 编程5、工具和平台6、算力7、Kubernetes (K8s) 与人工智能生成内容 (AIGC) 的结合应用7.1、摘要7.2、介绍7.3、K8s 与 AIGC 的结合应用7.4、实践案例7.5、结论 1、简介 LLM 技术图谱&…

Elastic Stack--05--聚合、映射mapping

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录 1.聚合(aggregations)基本概念桶&#xff08;bucket&#xff09;度量&#xff08;metrics&#xff09; 案例 11. 接下来按price字段进行分组&#xff1a;2. 若想对所…

C语言:预处理详解(知识点和代码演示)

和黛玉学编程........> 预定义符号 __FILE__ //进行编译的源文件 __LINE__ //文件当前的行号 __DATE__ //文件被编译的日期 __TIME__ //文件被编译的时间 __STDC__ //如果编译器遵循ANSI C&#xff0c;其值为1&#xff0c;否则未定义 比如&#xff1a; #define定义常量 #def…

Visual Studio2022使用(后续使用到再更新)

安装 从官网安装&#xff0c;下载即可。注意&#xff1a;选择社区版。&#xff08;免费够用&#xff09; 安装好后打开安装包&#xff0c;会继续下载东西&#xff0c;挂几个小时差不多就下好了。 使用 1、打开VS&#xff0c;点击“创建新项目”&#xff0c;选择“空项目”。…

【图论】 【割点】 【双连通分类】LCP 54. 夺回据点

本文涉及知识点 图论 割点 双连通分类 割点原理及封装好的割点类 LeetCode LCP 54. 夺回据点 魔物了占领若干据点&#xff0c;这些据点被若干条道路相连接&#xff0c;roads[i] [x, y] 表示编号 x、y 的两个据点通过一条道路连接。 现在勇者要将按照以下原则将这些据点逐一…

5分钟搭好一个易支付,个人最简单的对接支付宝方式

最近在疯狂折腾网站相关的知识,搭建了另一个平台后,需要涉及支付相关的内容。即 用户在某个平台请求支付时候,对接第三方支付支付宝,收款信息是我的,然后支付成功后给与回调。网上很多易支付网站,但是这玩意儿,既然咱碰到了,咱就自己弄。那么说搞咱就搞。 假设你已经搭…