编程语言分类之高级语言 C/C++ python

admin 2月前 79

高级语言并不关心底层硬件到底怎么样,因为高级语言是在和操作系统打交道。而操作系统又是管控硬件的软件,所以高级语言相较于低级语言来说它的开发效率肯定是要快上不上,但是执行效率上却有所损失。那么对于语言的好坏一味的按照执行效率来区分并非是正确的,语言本身只是一种工具,使用语言的人才是真正的操纵者。并且语言只有场景的适不适用而已,没有什么强弱之分。比如要对底层硬件进行开发,那么无疑汇编语言是最佳的选择,它能与本机硬件打交道所以能充分发挥自己执行效率高的特性,再比如要做一款网络爬虫相关的软件,由于网络具有延迟性会拖慢程序整体的运行速度,故使用汇编语言来编写爬虫便成了弱势(开发周期长,网络环境让汇编语言的高执行效率也体现不出来)。

  

  高级语言中按照翻译方式的不同又大体可分为两类,分别是编译性语言与解释性语言

 

  编译性语言(如C语言)

img

  编译性语言总结:

 

  1.执行效率高生成的目标文件可以脱离语言环境独立执行(因为都是存的二进制指令)

 

  2.开发效率低如果程序需要修改某一功能则必须修改源程序中的代码后再次生成目标程序,倘若只有目标程序而没有源程序的话则修改原本的功能是一件很困难的事情(反编译技术)。

 

  3.跨平台性差编译型代码只针对某一个平台下进行编译,当前平台下的编译结果(目标程序)无法拿到不同的平台上使用。

 

  其他现在大多数的编程语言都是编译型的。编译程序(GCC)将源程序翻译成目标程序后保存在另一个文件中,该目标程序可脱离编译程序直接在计算机上多次运行。``大多数软件产品都是以目标程序形式发行给用户的,不仅便于直接运行提升执行效率,同时又使他人难于盗用其中的技术。

 

  解释性语言(如Python)

img

  解释性语言总结:

 

  1.执行效率低解释型语言的实现中,翻译器并不产生目标机器代码,而是产生易于执行的中间代码。这种中间代码与机器代码是不同的,中间代码的解释是由软件支持的,不能直接使用硬件,``软件解释器通常会导致执行效率较低。

 

  2.开发效率高用解释型语言编写的程序是由另一个可以理解中间代码的解释程序执行的,与编译程序不同的是,解释程序的任务是逐一将源程序的语句解释成可执行的机器指令,不需要将源程序翻译成目标代码再执行。``解释程序的优点是当语句出现语法错误时,可以立即引起程序员的注意。让程序员在程序开发期间就能进行校``正,故开发效率高于解释性语言。

 

  3.跨平台性强代码运行是依赖于解释器,不同平台有对应版本的解释器,所以解释型语言的跨平台性更强。

 

  其他对于解释型Basic语言,需要一个专门的解释器解释执行Basic程序,每条语句只有在执行时才被翻译,这种解释型语言每 执行一次就翻译一次,因而效率低下。一般地,动态语言都是解释型的,例如:Tcl、Perl、Ruby、VBScript、JavaScript等

 

  PS:混合型语言

  最典型的就是Java语言,首先生成Java汇编,然后通过虚拟机进一步转换成计算机可以识别的二进制汇编语言。



少客联盟- 版权声明 1、本主题所有言论和图片纯属会员个人意见,与少客联盟立场无关。
2、本站所有主题由该帖子作者发表,该帖子作者admin少客联盟享有帖子相关版权。
3、少客联盟管理员和版主有权不事先通知发贴者而删除本文。
4、其他单位或个人使用、转载或引用本文时必须同时征得该帖子作者admin少客联盟的同意。
5、帖子作者须承担一切因本文发表而直接或间接导致的民事或刑事法律责任。
6、本帖部分内容转载自其它媒体,但并不代表本站赞同其观点和对其真实性负责。
7、如本帖侵犯到任何版权问题,请立即告知本站,本站将及时予与删除并致以最深的歉意。
8、官方反馈邮箱:chinasuc@chinasuc.cn


上一篇:编程语言分类之低级语言
下一篇:Python语言介绍
Whatever is worth doing is worth doing well. juvenile hacker league
最新回复 (0)
    • 少客联盟
      2
        登录 注册 QQ登录(停用)
返回