计算机语言可分为低级语言和高级语言两部分
低级语言包含两种语言机器语言(二进制代码)、汇编语言(面向机器的语言)以及符号语言,而汇编语言需要经过汇编,商城目标文件才可以执行
机器语言是用二进制代码表示的计算机可以直接识别执行的一种机器指令集合,机器语言最接近计算机硬件的编程语言
特点: 低级语言:机器语言是最基本的编程语言,直接控制和管理硬件资源。
二进制代码:它由0和1组成的序列,每个0或1称为一个位(bit)。
硬件特定:不同的计算机硬件(如不同的处理器架构)有其独特的机器语言。
执行效率高:由于直接由硬件执行,没有任何中间转换,因此执行效率非常高。
编写困难:由于其二进制的性质,人类编写和理解机器语言非常困难。
汇编语言也只一种操作计算机硬件的语言,个人理解是用一些符号将二进制代码替代
特点:符号代替二进制代码:汇编语言使用助记符(mnemonics)代替机器语言中的二进制代码。例如,用ADD表示加法操作,而不是一系列的0和1。
一对一的指令映射:汇编语言的每条指令通常对应机器语言的一条指令。这种一对一的关系使得汇编语言直接控制硬件资源成为可能。
与硬件紧密相关:汇编语言通常是特定于特定的处理器或处理器家族的。这意味着为一个类型的处理器编写的汇编程序可能无法在另一种处理器上运行,除非进行相应的修改。
高效控制硬件:由于其低级特性,汇编语言允许程序员进行精细的硬件控制,这在要求高性能或处理特定硬件任务时非常有用。
编写和维护难度较高:尽管汇编语言比机器语言更易于理解,但与高级编程语言相比,编写和维护汇编语言程序仍然较为复杂和费时。
需通过编译器将源代码编译成机器码,之后才能执行的语言。般需经过编译、链接这两个步骤。编译是把源代码编译成机器码,链接是把各个模块的机器码和依赖库串连起来生成可执行文件。编译和执行是分开的,但是不能跨平台。代表语言:C、C++、Pascal、Object-C、swift等。
解释性语言的程序不需要编译,相比编译型语言省了道工序,解释性语言在运行程序的时候才逐行翻译。每一个语句都是执行的时候才能翻译。这样解释性语言每执行一次要翻译一次,效率表较低。代表语言:JavaScript、Python、Erlang、PHP、Perl、Ruby等。
混合型语言也叫半编译型语言。比如java、C#,C#在编译的时候不是直接编译成机器码而是中间码,.NET平台提供了 中间语言运行库运行中间码,中间语言运行库类似于Java虚拟机。.net在编译成IL代码后,保存在dll中,首次运行时由JIT在编译成机器码缓存在内存中,下次直接执行。
面向过程语言是以过程或函数为基础的,这种语言对底层硬件,内存等操作比较方便,但是写代码和调试维护等会很麻烦。例如:c语言。
面向对象语言(Object-Oriented Language)是一类以对象作为基本程序结构单位的程序设计语言,指用于描述的设计是以对象为核心,而对象是程序运行时刻的基本成分。语言中提供了类、继承等成分。面向对象语言的发展有两个方向:一种是纯面向对象语言,如Smalltalk、EIFFEL等;另一种是混合型面向对象语言,即在过程式语言及其它语言中加入类、继承等成分,如C++、Objective-C等。
在动态类型语言中,变量的类型是在运行时确定的,而不是在编译时。这意味着相同的变量可以在程序的不同部分被赋予不同类型的值。例如,Python、Ruby、JavaScript等都是动态类型语言。
在静态类型语言中,变量的类型是在编译时确定的,并且通常不能改变。这意味着类型错误会在编译时而不是运行时被发现,有助于提早发现和修正错误。静态类型语言的例子包括C、C++、Java、Rust等。
是指在这类编程语言中,类型安全性得到严格的保证。在强类型语言中,类型的规则非常明确,不允许隐式地转换不兼容的类型。这意味着在运行时或编译时,任何类型不匹配的操作都会引发错误或异常。Python、Java和Rust都被认为是强类型语言。
指在这类编程语言中,类型检查相对宽松,允许更多的隐式类型转换。这意味着在不同类型之间的操作(如赋值、算术运算等)时,语言和编译器会自动进行类型转换,而不需要显式地指定。JavaScript和PHP是典型的弱类型语言。
CAD系统中的绘图语言和DBMS的数据库查询语言
是一种用于编写自动化执行任务的编程语言。它们通常用于控制其他软件应用程序的行为,处理文本、数据、文件以及进行系统管理等任务。
常见的脚本语言包括Python、Ruby、JavaScript、Perl、PHP、Bash等。这些语言在不同的应用场景下有着广泛的应用,例如Python在科学计算和数据分析中非常流行。脚本语言与编译型语言相比,更加注重快速开发和灵活性,而不是执行效率。因此,它们非常适合于编写中小型程序或脚本,用于任务自动化、快速原型开发等场景。