热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

python是高级语言还是低级语言_作为一名程序员必需知道的术语:高级/低级语言?解释/编译语言?...

作为一名合格的程序员,你必须知道一些计算机软件编程方面的术语。这次给大家解释一下下面两对常见的术语:高级语言低级语言、解释语言编译语言。什么是高级语言低

作为一名合格的程序员,你必须知道一些计算机软件编程方面的术语。这次给大家解释一下下面两对常见的术语:高级语言/低级语言、解释语言/编译语言。

u=591510442,98910792&fm=173&app=25&f=JPEG?w=640&h=217&s=8CD5409216D0FF92159B9FEA0300F03D

什么是高级语言/低级语言?

1、高级语言

我们现在大多数人使用的语言,如C、C++、Python、Java、Matlab、LabVIEW等等,都属于高级语言,相对于低级语言,它更接近于我们平时正常的人思维,其最大的特点是编写容易,代码可读性好。实现同样的功能,使用高级语言耗时更少,程序代码量更短,更容易阅读。其次,高级语言是可移植的,也就是说,仅需稍作修改甚至不用修改,就可将一段代码运行在不同类型的计算机上。

其缺点也很明显,使用高级语言编写的程序运行时,需要先将其翻译成低纸语言计算机才能运行它,在翻译过程中可能程会产生一些多余的部分,运行效率低些。另外,对硬件的可控性相对于低级语言弱些,目标代码量较大。

2、低级语言

泛指机器语言和汇编语言,其中,机器语言是计算机最原始的语言,由0和1的代码构成,计算机在工作的时候只认识机器语言,即0和1的代码;汇编语言,它用人类容易记忆的语言和符号来表示一组0和1的代码,如AND表示加法助记符。

相对于高级语言,其优点是执行速度快,但代码编写难度较大,可读性较差。另外,低级语言编写的程序只能在一种计算机上运行,想要运行在不同的机器上,必须重写。低级语言是早期的一种计算机编程语言,现在只在很少的特殊场景中使用了。

什么是编译语言/解释语言?

刚才说了,高级语言程序想要在计算机上执行,必需先将其翻译成计算机能识别的低级语言才能执行。对于不同的语言编写的代码,可以采用两种不同的翻译方式,一种是编译翻译,一种是解释翻译,分别对应着编译型语言和解释型语言。

1、编译型语言

典型的如C、C++、Pascal等语言,都属于编译型语言。它是编译的时候直接编译成机器可以执行或调用的程序,如exe、dll或ocx等类型。如将C语言可直接编译成exe程序,运行时直接运行exe程序就可以了,无需重新编译,所以程序执行效率较高。其执行过程如下所示:

u=2622560544,706662613&fm=173&app=25&f=JPEG?w=629&h=73

相对于解释型语言,其优点是运行速度快,代码效率高,编译后程序不可以修改,且看不到源码,保密性较好。

缺点是代码需要经过编译方可运行,可移植性差,只能在兼容的操作系统上运行。

由于其执行速度较快,同等条件下对系统的要求较低,因此常用于开发操作系统、大型应用程序、图像处理、数据库开发等场合。

2、解释型语言

典型的如Java、Python、Matlab等语言,都属于解释型语言。这类程序不需要编译,运行时使用一个专门的解释器去翻译,每一条语句都是执行的时候才翻译,所以这类程序每执行一次就要翻译一次,运行效率较称低。其执行过程如下所示:

u=1023687945,344694115&fm=173&app=25&f=JPEG?w=387&h=66&s=5FAA3063C572CF324E75F0C60000A0B1

相对于编译性语言,其优点是可移植性好,只要有解释器环境,程序就可以在不同的操作系统上运行。

缺点是代码需要有专门的解释器,在程序运行时,除要给用户程序本身分配内存空间外,解释器也占用系统资源,所以其运行速度较慢。另外,也很难达到像C、C++那样操作系统底层操作的目的。

解释型语言常用于,一是对运行速度要求不高(如一些网页脚本、服务器脚本、接口辅助开发等)的场合,二是对跨平台(操作系统的兼容性)有要求的场合。

总结

到这儿就解释完了这两对计算机编程方面的术语,不知你明白了么?欢迎大家留言讨论。

欢迎加关注,共同交流。



推荐阅读
  • 如何用UE4制作2D游戏文档——计算篇
    篇首语:本文由编程笔记#小编为大家整理,主要介绍了如何用UE4制作2D游戏文档——计算篇相关的知识,希望对你有一定的参考价值。 ... [详细]
  • 本文是一位90后程序员分享的职业发展经验,从年薪3w到30w的薪资增长过程。文章回顾了自己的青春时光,包括与朋友一起玩DOTA的回忆,并附上了一段纪念DOTA青春的视频链接。作者还提到了一些与程序员相关的名词和团队,如Pis、蛛丝马迹、B神、LGD、EHOME等。通过分享自己的经验,作者希望能够给其他程序员提供一些职业发展的思路和启示。 ... [详细]
  • 提升Python编程效率的十点建议
    本文介绍了提升Python编程效率的十点建议,包括不使用分号、选择合适的代码编辑器、遵循Python代码规范等。这些建议可以帮助开发者节省时间,提高编程效率。同时,还提供了相关参考链接供读者深入学习。 ... [详细]
  • 2018年人工智能大数据的爆发,学Java还是Python?
    本文介绍了2018年人工智能大数据的爆发以及学习Java和Python的相关知识。在人工智能和大数据时代,Java和Python这两门编程语言都很优秀且火爆。选择学习哪门语言要根据个人兴趣爱好来决定。Python是一门拥有简洁语法的高级编程语言,容易上手。其特色之一是强制使用空白符作为语句缩进,使得新手可以快速上手。目前,Python在人工智能领域有着广泛的应用。如果对Java、Python或大数据感兴趣,欢迎加入qq群458345782。 ... [详细]
  • 如何实现织梦DedeCms全站伪静态
    本文介绍了如何通过修改织梦DedeCms源代码来实现全站伪静态,以提高管理和SEO效果。全站伪静态可以避免重复URL的问题,同时通过使用mod_rewrite伪静态模块和.htaccess正则表达式,可以更好地适应搜索引擎的需求。文章还提到了一些相关的技术和工具,如Ubuntu、qt编程、tomcat端口、爬虫、php request根目录等。 ... [详细]
  • 本文详细介绍了SQL日志收缩的方法,包括截断日志和删除不需要的旧日志记录。通过备份日志和使用DBCC SHRINKFILE命令可以实现日志的收缩。同时,还介绍了截断日志的原理和注意事项,包括不能截断事务日志的活动部分和MinLSN的确定方法。通过本文的方法,可以有效减小逻辑日志的大小,提高数据库的性能。 ... [详细]
  • 本文介绍了lua语言中闭包的特性及其在模式匹配、日期处理、编译和模块化等方面的应用。lua中的闭包是严格遵循词法定界的第一类值,函数可以作为变量自由传递,也可以作为参数传递给其他函数。这些特性使得lua语言具有极大的灵活性,为程序开发带来了便利。 ... [详细]
  • PHP设置MySQL字符集的方法及使用mysqli_set_charset函数
    本文介绍了PHP设置MySQL字符集的方法,详细介绍了使用mysqli_set_charset函数来规定与数据库服务器进行数据传送时要使用的字符集。通过示例代码演示了如何设置默认客户端字符集。 ... [详细]
  • 本文详细介绍了云服务器API接口的概念和作用,以及如何使用API接口管理云上资源和开发应用程序。通过创建实例API、调整实例配置API、关闭实例API和退还实例API等功能,可以实现云服务器的创建、配置修改和销毁等操作。对于想要学习云服务器API接口的人来说,本文提供了详细的入门指南和使用方法。如果想进一步了解相关知识或阅读更多相关文章,请关注编程笔记行业资讯频道。 ... [详细]
  • 本文介绍了OC学习笔记中的@property和@synthesize,包括属性的定义和合成的使用方法。通过示例代码详细讲解了@property和@synthesize的作用和用法。 ... [详细]
  • [译]技术公司十年经验的职场生涯回顾
    本文是一位在技术公司工作十年的职场人士对自己职业生涯的总结回顾。她的职业规划与众不同,令人深思又有趣。其中涉及到的内容有机器学习、创新创业以及引用了女性主义者在TED演讲中的部分讲义。文章表达了对职业生涯的愿望和希望,认为人类有能力不断改善自己。 ... [详细]
  • 本文介绍了使用PHP实现断点续传乱序合并文件的方法和源码。由于网络原因,文件需要分割成多个部分发送,因此无法按顺序接收。文章中提供了merge2.php的源码,通过使用shuffle函数打乱文件读取顺序,实现了乱序合并文件的功能。同时,还介绍了filesize、glob、unlink、fopen等相关函数的使用。阅读本文可以了解如何使用PHP实现断点续传乱序合并文件的具体步骤。 ... [详细]
  • 本文介绍了计算机网络的定义和通信流程,包括客户端编译文件、二进制转换、三层路由设备等。同时,还介绍了计算机网络中常用的关键词,如MAC地址和IP地址。 ... [详细]
  • Android源码深入理解JNI技术的概述和应用
    本文介绍了Android源码中的JNI技术,包括概述和应用。JNI是Java Native Interface的缩写,是一种技术,可以实现Java程序调用Native语言写的函数,以及Native程序调用Java层的函数。在Android平台上,JNI充当了连接Java世界和Native世界的桥梁。本文通过分析Android源码中的相关文件和位置,深入探讨了JNI技术在Android开发中的重要性和应用场景。 ... [详细]
  • Oracle10g备份导入的方法及注意事项
    本文介绍了使用Oracle10g进行备份导入的方法及相关注意事项,同时还介绍了2019年独角兽企业重金招聘Python工程师的标准。内容包括导出exp命令、删用户、创建数据库、授权等操作,以及导入imp命令的使用。详细介绍了导入时的参数设置,如full、ignore、buffer、commit、feedback等。转载来源于https://my.oschina.net/u/1767754/blog/377593。 ... [详细]
author-avatar
枫的Lilyxj
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有