【总结】编程语言的分类

2 篇文章 0 订阅
订阅专栏
文章详细介绍了编程语言的分类,包括低级语言、高级语言、专用语言和脚本语言,以及它们各自的优缺点。高级语言进一步分为编译型、解释型和混合型,并讨论了面向过程和面向对象语言的差异。脚本语言的特性和应用场景也被阐述,强调了它们在动态程序开发中的作用。最后,文章提到了新兴编程语言如Perl和Python的特点和用途。
摘要由CSDN通过智能技术生成

一、计算机编程语言的分类

1、低级语言

机器语言(二进制代码)、汇编语言(面向机器的程序设计语言)和符号语言。汇编语言源程序必须经过汇编,生成目

标文件,然后执行。

机器语言优缺点如下:

缺点:可读性、可移植性差,编程繁杂;

优点:直接执行,速度快,资源占用少。

汇编语言优缺点如下

优点:能够保持机器语言的一致性,直接、简捷,并能像机器指令一样访问、控制计算机的各种硬件设备,如磁盘、存储器、CPU、I/O端口等。使用汇编语言,可以访问所有能够被访问的软、硬件资源,目标代码简短,占用内存少,执行速度快。

缺点:不同的处理器有不同的汇编语言语法和编译器,编译的程序无法在不同的处理器上执行,缺乏可移植性,难于从汇编语言代码上理解程序设计意图,可维护性差,即使是完成简单的工作也需要大量的汇编语言代码,很容易产生bug,难于调试,使用汇编语言必须对某种处理器非常了解,而且只能针对特定的体系结构和处理器进行优化,开发效率很低,周期长且单调。

2、高级语言

BASIC(True basic、Qbasic、Virtual Basic)、C、C++、PASCAL、FORTRAN、智能化语言(LISP、Prolog)、动态 语言(Python、PHP、Ruby、Lua)等等。高级语言源程序可以用解释、编译两种方式执行。通常用后一种。 我们使用的C语言就是使用的后者。

高级语言的优缺点如下:

优点:高级语言接近算法语言,易学、易掌握,高级语言为程序员提供了结构化程序设计的环境和工具,使得设计出来的程序可读性好,可维护性强,可靠性高;高级语言远离机器语言,与具体的计算机硬件关系不大,可移植性好,重用率高;由于把繁杂琐碎的事务交给了编译程序去做,所以自动化程度高,开发周期短,且程序员得到解脱,可以集中时间和精力去从事对于他们来说更为重要的创造性劳动,以提高程序的质量。

缺点:运行速度基本上比直接用汇编写的慢,速度和程序大小与编译软件有关。

3、专用语言

CAD系统中的绘图语言和DBMS的数据库查询语言。

4、脚本语言

(Script language,scripting language,scripting programming language)是为了缩短传统的编写-编译-链接-运行(edit- compile-link-run)过程而创建的计算机编程语言。脚本语言一般都 有相应的脚本引擎来解释执行。 他们一般需要解释器才能运行。一个脚本通常是解释运行而非编译。脚本语言通常 都有简单、易学、易用的特性,目的就是希望能让程序员快速完成程序的编写工 作。

二、高级语言的分类

1、按转换方式可分为三类:① 编译型语言; ② 解释型语言;③ 混合型语言

计算机不能直接的理解高级语言,只能直接理解机器语言,所以必须要把高级语言翻译成机器语言,计算机才能执行高级语言的编写的程序。翻译的方式有两种,一个是编译,一个是解释。两种方式只是翻译的时间不同。

① 编译型语言

需通过编译器(compiler)将源代码编译成机器码,之后才能执行的语言。一般需经过编译(compile)、链接(linker)这两个步骤。编译是把源代码编译成机器码,链接是把各个模块的机器码和依赖库串连起来生成可执行文件。编译和执行是分开的,但是不能跨平台。

优点:编译器一般会有预编译的过程对代码进行优化。因为编译只做一次,运行时不需要编译,所以编译型语言的程序执行效率高。可以脱离语言环境独立运行。

缺点:编译之后如果需要修改就需要整个模块重新编译。编译的时候根据对应的运行环境生成机器码,不同的操作系统之间移植就会有问题,需要根据运行的操作系统环境编译不同的可执行文件。

代表语言:C、C++、Pascal、Object-C、swift等。

② 解释型语言

解释性语言的程序不需要编译,相比编译型语言省了道工序,解释性语言在运行程序的时候才逐行翻译。每一个语句都是执行的时候才能翻译。这样解释性语言每执行一次要翻译一次,效率表较低。

优点:有良好的平台兼容性,在任何环境中都可以运行,前提是安装了解释器(虚拟机)。灵活,修改代码的时候直接修改就可以,可以快速部署,不用停机维护。

缺点:每次运行的时候都要解释一遍,性能上不如编译型语言

代表语言:JavaScript、Python、Erlang、PHP、Perl、Ruby等。

③ 混合型语言

混合型语言也叫半编译型语言。比如java、C#,C#在编译的时候不是直接编译成机器码而是中间码,.NET平台提供了 中间语言运行库运行中间码,中间语言运行库类似于Java虚拟机。.net在编译成IL代码后,保存在dll中,首次运行时由JIT在编译成机器码缓存在内存中,下次直接执行。

java解释器采用生成与系统无关的字节代码指令技术。也就是说,在任何不同的操作系统上,只要正确安装了java运行系统,就有了编写调试java程序的平台,在分布式应用中,java的这个特点使同一个java程序能在不同的系统上运行,从而提高了软件生产效率。可移植性是跨平台特性的一个延伸,即具有了跨平台性,就保证了可移植性。java程序、java类库、java编译器、java系统都具有可移植性。

另外有一个特殊的情况,正常情况下JavaScript属于解释性语言,V8引擎是被设计用来提高网页浏览器内部JavaScript执行的性能,为了提高性能,v8会把js代码转换为高效的机器码,而不在是依赖于解释器去执行。v8引入了JIT在运行 时把js代码进行转换为机器码。这里的主要区别在于V8不生成字节码或任何中间代码。这里的特殊之处在于JIT做代码优化(同时生成编译版本);解释型语言无法做到这些。

2. 按照客观系统的描述可分为两类:① 面向过程语言; ② 面向对象语言。

① 面向过程语言

面向过程语言是以过程或函数为基础的,这种语言对底层硬件,内存等操作比较方便,但是写代码和调试维护等会很麻烦。例如:c语言。

② 面向对象语言

面向对象语言(Object-Oriented Language)是一类以对象作为基本程序结构单位的程序设计语言,指用于描述的设计是以对象为核心,而对象是程序运行时刻的基本成分。语言中提供了类、继承等成分。

面向对象语言的发展有两个方向:一种是纯面向对象语言,如Smalltalk、EIFFEL等;另一种是混合型面向对象语言,即在过程式语言及其它语言中加入类、继承等成分,如C++、Objective-C等。

3. 按照运行时结构是否改变可分为两类:① 动态结构语言;② 静态结构语言。

主要针对点是:运行是是否能够改变代码结构。动态类型语言和静态类型语言主要针对数据类型检查的时间问题。

① 动态结构语言

是一类在运行时可以改变其结构的语言:例如新的函数、对象、甚至代码可以被引进,已有的函数可以被删除或是其他结构上的变化。通俗点说就是在运行时代码可以根据某些条件改变自身结构。动态语言是在运行时确定数据类型的语言。变量使用之前不需要类型声明,通常变量的类型是被赋值的那个值的类型。

主要语言:Python、Ruby、Erlang、JavaScript、swift、PHP、SQL、Perl、Object-C、C#。

② 静态结构语言

与动态语言相对应的,运行时结构不可变的语言就是静态语言。静态语言是在编译时变量的数据类型即可确定的语言,多数静态类型语言要求在使用变量之前必须声明数据类型。

主要语言:C、C++、C#、Java、Object-C。

注意:

通常情况下解释型语言动态类型语言,编译型语言静态类型语言但也不全是,swift是编译型语言但是它也是动态类型语言。C#和Java是解释型语言也是静态类型语言。

4. 按照变量是否需要制定类型可分为:① 强类型语言; ② 弱类型语言。

① 强类型语言

强类型语言,一旦一个变量被指定了某个数据类型,如果不经过强制类型转换,那么它就永远是这个数据类型。你不能把一个整形变量当成一个字符串来处理。

主要语言:Java、C#、Python、Object-C、Ruby等。

② 弱类型语言

数据类型可被忽略,一个变量可以赋不同数据类型的值。一旦给一个整型变量a赋一个字符串值,那么a就成字符类型。

主要语言:JavaScript、PHP、C、C++(C和C++有争议,但是确实可以给一个字符变量赋整形值,可能初衷是强类型,形态上接近弱类型)等。

三、脚本语言

动态程序一般有两种实现方式,一是二进制方式,一是脚本方式。 二进制方式是先将我们编写的程序进行编译,变成机器可识别的指令代码(如.exe文件),然后再执行。这种编译好的程序我们只能执行、使用,却看不到他的程序内容。

脚本程序相对一般程序开发来说比较接近自然语言,可以不经编译而是解释执行,利于快速开发或一些轻量的控制。一般的脚本语言的执行只同具体的解释执行器有关,所以只要系统上有相应语言的解释程序就可以做到跨平台。 脚本script是使用一种特定的描述性语言,依据一定的格式编写的可执行文件,又称作宏或批处理文件。脚本通常可以由应用程序临时调用并执行。各类脚本目前被广泛地应用于网页设计中,因为脚本不仅可以减小网页的规模和提高网页浏览速度,而且可以丰富网页的表现,如动画、声音等。

脚本简单地说就是一条条的文字命令,这些文字命令是我们可以看到的(如可以用记事本打开查看、编辑),脚本程序在执行时,是由系统的一个解释器,将其一条条的翻译成机器可识别的指令,并按程序顺序执行。因为脚本在执行时多了一道翻译的过程,所以它比二进制程序执行效率要稍低一些。 我们上面提到的各种动态语言,如ASP、PHP、CGI、JSP等,都是脚本语言。 按目前的服务规则,虚拟主机网站只能采用脚本语言来实现 脚本英文为Script。实际上脚本就是程序,一般都是有应用程序提供的编程语言。应用程序包括浏览器(javascript、VBScript)、多媒体创作工具,应用程序的宏和创作系统的批处理语言也可以归入脚本之类。脚本同我们平时使用的VB、C语言等的区别主要是:

1、脚本语法比较简单,比较容易掌握;

2、脚本与应用程序密切相关,所以包括相对应用程序自身的功能;

3、脚本一般不具备通用性,所能处理的问题范围有限。

4、脚本语言(JavaScript,VBscript等)介于HTML和C,C++,Java,C#等编程语言之间。 HTML通常用于格式化和链结文本。而编 程语言通常用于向机器发出一系列复杂的指令。

5、脚本语言与编程语言也有很多相似地方,其函数与编程语言比较相象一些,其也涉及到变量。与编程语言之间最大的区别是编程语言的语法和规则更为严格和复杂一些.

6、与程序代码的关系:脚本也是一种语言,其同样由程序代码组成。 注:脚本语言一般都有相应的脚本引擎来解释执行。 他们一般需解释器才能运行。JAVASCRIPT, ASP, PHP, PERL, Nuva都是脚本语言。C/C++编译、链接后,可形成独立执行的exe文件。

7、脚本语言是一种解释性的语言,例如vbscript,javascript,installshield script等等,它不象c/c++等可以编译成二进制代码,以可执行文件的形式存在. 脚本语言不需要编译,可以直接用,由解释器来负责解释。

8、脚本语言一般都是以文本形式存在,类似于一种命令. 举个例子说,如果你建立了一个程序,叫aaa.exe,可以打开.aa为扩展名的 文件. 你为.aa文件的编写指定了一套规则(语法),当别人编写了.aa文件后,你的程序用这种规则来理解编写人的意图,并作出回应.那么,这一套规则就是脚本语言. 脚本是批处理文件的延伸,是一种纯文本保存的程序,一般来说的计算机脚本程序是确定的一系列控制计算机进行运算操作动作的组合,在其中可以实现一定的逻辑分支等。

脚本语言,脚本语言或扩建的语言,是一种编程语言控制软件应用程序 “脚本”往往被视为有别于“程序” ,执行独立于任何其他的应用在同一时间,他们是有别于核心代码的应用,这是通常的书面在不同的语言,和现正接触到。
FPGA的最常用的是TCL,Perl以及Shell(.bash / .sh)除此之外,还有可能用到其他的脚本语言比如,Xilinx工具脚本语言还有Ruby和PythonTCL 顾名思义,Tool Command Language,它的工具交互性要好些,可以很好地运用于书写工具命令脚本Perl。
游戏开发中常用哪种脚本语言? 主要就是想实现把某些功能放在外部比如技能效果物品效果之类,随时可以更改,到程序运行的时候自动读取脚本处理哪种脚本语言比较方便?多谢! 主要就是想实现 把某些功能放在外部比如技能效果 物品效果。
javascript JavaScript,VB,CGI , vbscriJSP,VB pt, html ,xml ,aspx。
一个脚本可以使得本来要用键盘进行的相互式操作自动化一个Shell脚本主要由原本需要在命令行输入的命令组成,或在一个文本编辑器中,用户可以使用脚本来把一些常用的操作组合成一组序列主要用来书写这种脚本的语言叫做脚本语。
Tcl和Visual Basic可以被用于在屏幕上安排一系列用户图形控制,而Unix shells scripts被用于把过滤程序集合入管道脚本语言常用于扩展组件特性,但他们很少用于复杂的算法和数据结构这些东西常由组件提供脚本语言有时涉及胶着语言。

四、新兴编程语言

perl擅长文字处理,python擅长数值处理 Perl 设计之初就是为了方便编写复杂高效的系统脚本,它也是应该最为广泛的脚本 编程语言。它在编程方面相当于瑞士军刀,对字符、文本文件处理能力很强,以前要求 shell+sed+awk+C才能完成的任务,只需perl脚本就可以完成了。而且应用领域一直在拓宽,支持面向对象程序设计。Python 面向对象的动态公共语言,适于脚本编程和快速开发,它最显著的特点是作为编译语言(如C)和脚本语言(如perl)之间的桥接语言,它具有的强大功能,可扩充性及面向对象的特征使其成为大规模应用程序开发工具。

编程语言发展史之:编程语言的未来趋势
AI天才研究院
09-25 5441
编程语言”这个概念在近几年间已经成为现代科技领域的一个热门话题。它从诞生到今天已经经历了几百年的历史,各个编程语言都各不相同,但其中的共同点无疑就是可以实现一些程序功能。而“未来趋势”,则指的是这一系列编程语言的演进方向以及各自适应该方向的理念、方法和工具。那么,编程语言的未来是如何确立的呢?对于编程语言来说,如何走向成熟并取得成功,将是一个至关重要的问题。为了给读者提供一个深入浅出的理解,本文从编程语言的历史开始,一步步阐述编程语言发展的脉络。
探索编程语言的本质:了解编程语言的定义与分类
a871923942的博客
05-08 674
本文旨在帮助读者了解编程语言的本质,以及各种编程语言之间的差异。我们将首先介绍编程语言的定义,然后探讨编程语言的基本组成,包括语法、语义等。
高级编程语言详解
最新发布
Python老吕的博客
08-08 595
计算机语言具有高级语言和低级语言之分。而高级语言又主要是相对于汇编语言而言的,它是较接近自然语言和数学公式的编程,基本脱离了机器的硬件系统,用人们更易理解的方式编写程序。编写的程序称之为源程序。高级语言并不是特指的某一种具体的语言,而是包括很多编程语言,如流行的java,c,c++,C#,pascal,python,lisp,prolog,FoxPro,易语言,中文版的C语言等等,这些语言的语法、命令格式都不相同。
编程语言分类
橙子味冰可乐的博客
03-06 3267
编程语言分类
编程语言的类型
m0_59233099的博客
11-05 822
区分编程语言的类型特点,包括解释型和编译型、强类型和弱类型、动态型和静态型
编程语言分类
qq_41995398的博客
01-31 911
编程语言分为高级语言,低级语言,高级语言 高级语言就是常见的那种C,Java,JS,C++,Python,等等高级语言更加人性化,易于理解,利于开发,高级语言具有移植性,代码可在不同计算机平台运行。 低级语言包括汇编语言和机器语言,机器语言是机器能够直接的0,1代码,汇编语言采用人类更加容易记忆和识别的符号来代表指令。 高级语言又分为编译型语言和解释型语言 ...
编程语言分类与关系
水之光
07-05 2万+
编译型语言:使用专门的编译器,针对特定的平台,将高级语言源代码一次性的编译成可被该平台硬件执行的机器码,并包装成该平台所能识别的可执行性程序的格式。特点:在编译型语言写的程序执行之前,需要一个专门的编译过程,把源代码编译成机器语言的文件,如exe格式的文件,以后要再运行时,直接使用编译结果即可,如直接运行exe文件。因为只需编译一次,以后运行时不需要编译,所以编译型语言执行效率高。总结:1)一次性...
编程语言分为几类
2023年最新地推相关信息
03-20 3228
编程语言分为分成机器语言、汇编语言、高级语言三大类:机器语言:用二进制代码 0 和 1 描述的指令称为机器指令;汇编语言:直接对硬件操作,汇编程序的每一句指令只能对应实际操作过程中的一个很细微的动作;高级语言:所编制的程序不能直接被计算机识别,必须经过转换才能被执行。 programming 编程 机器语言 由于计算机内部只能接受二进制代码,因此,用二进制代码 0 和 1 描述的指令称为机器指令...
编程语言及其分类
cly20020925的博客
07-11 944
编程语言的概念 1.编程语言的本质——语言 任何一种语言的本质都是用于交流的工具。我们熟悉的英语,汉语之类的属于自然语言,即人与人之间交流的工具。而编程语言是人与计算机之间的交流工具,人们通过编程语言写一些代码或指令来实现和计算机交流。 2.编程语言的作用——控制计算机 人们可以通过编程语言写代码写程序的方式,控制计算机达到某些目的。编程语言就是打开‘控制计算机’大门的钥匙。二 编程语言分类 1.机器语言 (1)机
编程语言类型
Lin_RD的博客
02-11 326
编译过程、解释型语言与编译型语言编译的四个步骤语言类型 编译的四个步骤 1.预处理: 处理头文件与宏定义 2.编译: 将源程序转换成汇编语言 3.汇编: 将汇编语言翻译成机器码 4.链接: 链接库文件等,形成可执行程序 C语言为例 预处理编译汇编链接源程序.c预处理后的程序.i汇编语言.s机器码.o可执行文件 语言类型 类型 区别 优缺点 例子 编译型 将源代码编译生成机器码,由机...
编程语言种类
热门推荐
《好好先生》专栏
09-13 4万+
编程语言种类 编程语言有很多种,常用的有C语言、C++、Java、C#、Python、PHP、JavaScript、Go语言、Objective-C、Swift、汇编语言等,每种语言都有自己擅长的方面,例如: 编程语言 主要用途 C/C++ C++ 是在C语言的基础上发展起来的,C++ 包含了C语言的所有内容,C语言是C+...
写文章

热门文章

  • vue-router路由使用 history 模式时,后端如何配置 26398
  • javascript时间日期处理--new Date(),format() 15256
  • 总结几个webpack打包优化的方法 13234
  • 关于axios的引入以及简单封装(基于pomise封装) 11575
  • vue3--介绍 8375

分类专栏

  • 其他扩展知识 1篇
  • 面试相关
  • 百善篇 1篇
  • LeetCode专栏 1篇
  • JavaScript设计模式 5篇
  • 实践问题解析 11篇
  • webpack 4篇
  • 加密与解密 4篇
  • web模拟数据 1篇
  • javascript的数据结构与算法 1篇
  • angularjs
  • javascriptoop 9篇
  • JavaScript 64篇
  • vue 49篇
  • react 12篇
  • Promise 1篇
  • less
  • 浏览器与服务器 4篇
  • 移动端 1篇
  • 适配类 4篇
  • css 13篇
  • app使用H5页面 2篇
  • iOS/android与H5交互 1篇
  • 后端 2篇
  • 性能优化与兼容 5篇
  • 养生 1篇
  • 目标与规划 2篇
  • ajax等交互 1篇
  • HTML5动画 10篇

最新评论

  • 登录过期--localStorage加sessionStorage实现7天登录过期

    不正经的kimol君: 大佬就是大佬,写得很棒呀

  • localStorage设置过期时间

    不正经的kimol君: 学到了,点赞支持

  • 加密与解密--charCodeAt()

    小白白: 目前已知有问题 原文【;】解密后【䣛】 原文【,】解密后【䣌】

  • vue实现原理

    qq_36357696: 代码要是可以排版的更好些就好了。。。 https://urlify.cn/nmYzma

  • vue实际应用----props的默认数据,methods与computed

    邓宁宁: 写的什么玩意

最新文章

  • 前端大文件上传
  • 阐述懒加载?
  • vscode工具使用
2024年2篇
2023年12篇
2020年55篇
2019年49篇
2018年98篇

目录

目录

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值

玻璃钢生产厂家玻璃钢荷花卡通雕塑重庆主题公园玻璃钢美陈雕塑江苏商场主题创意商业美陈贵州玻璃钢机器人雕塑校园玻璃钢人物雕塑手工制作出售玻璃钢动漫雕塑厂圣诞节商场门头美陈青岛玻璃钢雕塑定制价格玻璃钢雕塑品天津玻璃钢花盆城市玻璃钢雕塑价格商场美陈造型木作白银景区玻璃钢雕塑哪家好武穴玻璃钢花盆花器玻璃钢彩绘螃蟹雕塑浙江商场节庆美陈雕塑报价沭阳玻璃钢雕塑厂家金华景区玻璃钢雕塑定做价格淮北卡通玻璃钢雕塑定制运城玻璃钢仿铜雕塑定制河源优惠的玻璃钢雕塑河南标牌玻璃钢景观雕塑小品潮州玻璃钢雕塑工艺卡通玻璃钢动物雕塑商家单县制作玻璃钢雕塑公司厂商陕西玻璃钢浮雕玻璃钢仿铜雕塑南昌玻璃钢公园雕塑乌当区玻璃钢雕塑厂家电话会发光的玻璃钢雕塑定做室内商场美陈生产公司香港通过《维护国家安全条例》两大学生合买彩票中奖一人不认账让美丽中国“从细节出发”19岁小伙救下5人后溺亡 多方发声单亲妈妈陷入热恋 14岁儿子报警汪小菲曝离婚始末遭遇山火的松茸之乡雅江山火三名扑火人员牺牲系谣言何赛飞追着代拍打萧美琴窜访捷克 外交部回应卫健委通报少年有偿捐血浆16次猝死手机成瘾是影响睡眠质量重要因素高校汽车撞人致3死16伤 司机系学生315晚会后胖东来又人满为患了小米汽车超级工厂正式揭幕中国拥有亿元资产的家庭达13.3万户周杰伦一审败诉网易男孩8年未见母亲被告知被遗忘许家印被限制高消费饲养员用铁锨驱打大熊猫被辞退男子被猫抓伤后确诊“猫抓病”特朗普无法缴纳4.54亿美元罚金倪萍分享减重40斤方法联合利华开始重组张家界的山上“长”满了韩国人?张立群任西安交通大学校长杨倩无缘巴黎奥运“重生之我在北大当嫡校长”黑马情侣提车了专访95后高颜值猪保姆考生莫言也上北大硕士复试名单了网友洛杉矶偶遇贾玲专家建议不必谈骨泥色变沉迷短剧的人就像掉进了杀猪盘奥巴马现身唐宁街 黑色着装引猜测七年后宇文玥被薅头发捞上岸事业单位女子向同事水杯投不明物质凯特王妃现身!外出购物视频曝光河南驻马店通报西平中学跳楼事件王树国卸任西安交大校长 师生送别恒大被罚41.75亿到底怎么缴男子被流浪猫绊倒 投喂者赔24万房客欠租失踪 房东直发愁西双版纳热带植物园回应蜉蝣大爆发钱人豪晒法院裁定实锤抄袭外国人感慨凌晨的中国很安全胖东来员工每周单休无小长假白宫:哈马斯三号人物被杀测试车高速逃费 小米:已补缴老人退休金被冒领16年 金额超20万

玻璃钢生产厂家 XML地图 TXT地图 虚拟主机 SEO 网站制作 网站优化