人与计算机之间沟通交流的媒介php
编程语言俗称“计算机语言”,种类很是的多,总的来讲能够分红机器语言、汇编语言、高级语言三大类。python
将人的思惟逻辑经过计算机能读懂的方式写下来。数据库
解放人力,让计算机可以按照人的思惟逻辑去帮你作事编程
优势:计算机可以直接读懂,速度快服务器
缺点:开发效率极低编程语言
ps:站在计算机的角度说计算机可以听懂的话,函数
不一样型号的CPU都有各自的机器语言,即指令系统。性能
0000,0000,000000010000 表明 LOAD A, 16学习
0000,0001,000000000001 表明 LOAD B, 1测试
0001,0001,000000010000 表明 STORE B, 16
0001,0001,000000000001 表明 STORE B, 1[1]
汇编语言(assembly language)是一种用于电子计算机、微处理器、微控制器或其余可编程器件的低级语言,亦称为符号语言。
在汇编语言中,用助记符代替机器指令的操做码,用地址符号或标号代替指令或操做数的地址。在不一样的设备中,汇编语言对应着不一样的机器语言指令集,经过汇编过程转换成机器指令。特定的汇编语言和特定的机器语言指令集是一一对应的,不一样平台之间不可直接移植。
例如:打印一句hello world须要些如下代码
; hello.asm section .data ; 数据段声明 msg db "Hello, world!", 0xA ; 要输出的字符串 len equ $ - msg ; 字串长度 section .text ; 代码段声明 global _start ; 指定入口函数 _start: ; 在屏幕上显示一个字符串 mov edx, len ; 参数三:字符串长度 mov ecx, msg ; 参数二:要显示的字符串 mov ebx, 1 ; 参数一:文件描述符(stdout) mov eax, 4 ; 系统调用号(sys_write) int 0x80 ; 调用内核功能 ; 退出程序 mov ebx, 0 ; 参数一:退出代码 mov eax, 1 ; 系统调用号(sys_exit) int 0x80 ; 调用内核功能
优势:开发效率高于机器语言
高级语言(High-level programming language)对于机器语言来讲,他就是一种指令机的体系。在这种语言下,语法和结构更接近于人们用的语言,并且比较远离对硬件的直接操做,让通常人通过学习后就能够去编程。
简单来讲,高级语言分为编译型语言和解释型语言
通常而言,用编译语言写成的程式,在执行期的执行速度,一般比用直译语言写的程式快。由于程式在编译期,已经被预先编译成机器码,能够直接执行,不用像直译语言同样,还要多一道直译程序。
可是要先编译,以后才能执行,这也形成了编译语言的缺点。通常而言,编译语言的程式开发速度,以及除错时间,都是比较长的。由于它不像解释型语言能够写完一行,或一小段程式以后,立刻执行,立刻除错。解释型语言一般让程式开发的总体时间变少,在开发过程当中,解释型语言也能够更弹性、快速的测试本身的想法。
优势:执行效率高
缺点:开发效率低
它是和编译型语言相反的,这种类型的语言,会将代码一句一句直接执行,不须要像编译语言(Compiled language)同样,通过编译器先行编译为机器码,以后再执行。
这种程式语言须要利用直译器,在执行期,动态将程式码逐句直译(interpret)为机器码,或是已经预先编译为机器码的的子程式,以后再执行。
(就算有小BUG,但若是用不到,就不会报错)
特色:依赖解释器,跨平台性好.
优势:开发效率高
缺点:执行效率低
编译型与解释型,二者各有利弊
前者因为程序执行速度快,同等条件下对系统要求较低,所以像开发操做系统、大型应用程序、数据库系统等时都采用它,像C/C++、Pascal/Object Pascal(Delphi)等都是编译语言,而一些网页脚本、服务器脚本及辅助开发接口这样的对速度要求不高、对不一样系统平台间的兼容性有必定要求的程序则一般使用解释性语言,如JavaScript、VBScript、Perl、Python、Ruby、 等等。
但随着硬件的升级和设计思想的变革,编译型和解释型语言愈来愈笼统,主要体如今一些新兴的高级语言上,而解释型语言的自身特色也使得编译器厂商愿意花费更多成原本优化解释器,解释型语言性能超过编译型语言也是必然的。
我的感受:其实各类语言相差的执行效率也就那样,
主要仍是看开发的效率,就像火了一个游戏,其余游戏就会争相模仿,开发快的几天就弄出来了,开发慢的,一个多月,一个多月事后,游戏还火吗?抢的就是时间,抢的就是用户,抢的就是市场。
低级语言和编绘语言,是站在计算机的角度,说计算机的语言
学习难度:
机器语言->汇编语言->高级语言
执行效率:
机器语言->汇编语言->高级语言
开发效率: