# 编程语言的分类

编程语言的分类可以从三个角度出发：

## 编译型和解释型

### 编译型

即把源程序的每一条语句都编译成机器语言，并保存为二进制文件，这样运行时计算机可以直接以机器语言来运行此程序。

* 优点：执行速度很快
* 缺点：开发效率低，不能跨平台

常见语言有`C\C++`、`Go`等

### 解释型

只在运行时才一条一条的解释成机器语言给计算机执行。

* 优点：开发效率高，跨平台
* 缺点：运行速度慢

常见语言有`Python`、`PHP`、`JavaScript`

### 混合型

常见语言有`JAVA`、`C#`

## 静态语言和动态语言

### 动态语言

即数据类型是在运行期间检查的，写程序时不用给变量指定数据类型，当你第一次赋值给变量时，就在内部记录下了数据类型。

常见语言有`Python`、`Ruby`、`JavaScript`

### 静态语言

即数据类型是在编译期间检查的，写程序时声明所有变量的数据类型。

常见语言有`JAVA`、`C\C++`、`Go`

## 强类型语言和弱类型语言

### 强类型语言（类型安全）

强制数据类型定义的语言，即一旦一个变量被指定了某个数据类型，如果不经过强制转换，那么它就永远是这个数据类型了。

常见语言有`JAVA`、`C\C++`、`Python`、`Go`。

### 弱类型语言

一个变量可以赋不同数据类型的值。

常见语言有`JavaScript`

## 结论

### Python

Python是一门动态解释型的强类型定义语言

### C

C语言是一门静态编译型的强类型定义语言

### JAVA

Java是一门静态混合型的强类型定义语言

### Go

Go是一门静态编译型的强类型定义语言

### JavaScript

JavaScript是一门动态解释型的弱类型定义语言

## 参考链接

> <https://www.cnblogs.com/sunbr/p/11214498.html>
