# 2021年最值得测试同学使用的四种编程语言




2021年马上就要到了，那么新的一年哪些编程语言值得测试同学学习和使用呢？我们不妨简单来看一下。

### python

python目前基本上成为了一门通用语言，有点像是英语在世界语言中的地位。

我们可以这么认为，在工作中不使用python其实没什么大问题，不过如果能熟练使用python，那么工作效率和效果将有极大的提升。

python因为语法简单执行效率尚可，扩展性强等优势在一些传统领域和新兴领域都备受推崇，使用python我们可以

* 做web开发
* 做自动化构建
* 玩一下计算机视觉相关的东西
* 做一些科学计算
* 数据统计与可视化
* 深度学习
* 自动化测试及网络爬虫
* 开发各种cli工具等
* 游戏开发
* 文本处理

所以如果大家只有时间掌握一门脚本语言的话，python是非常好的选择。

### javascript

因为nodejs的出现，js在应用场景上有了巨大的扩充，之前只能在浏览器上做一些前端效果的js如今基本上成为了一门非常方便的脚本语言，我们可以使用js进行

* web开发，包含前后端
* 移动端开发，比如使用rn
* cli工具开发
* 自动化构建
* 游戏开发 
* 文本处理
* 自动化测试
* GUI开发，比如vscode就是js开发的

如果大家从事的工作跟前端有很多交集，那么js是一门值得掌握的脚本语言。

### java

老当益壮的java在编译性语言里目前还是有着不错的表现的。java目前在一些领域还是有着比较大的保有量

* web后端开发
* 通用后台开发，比如java有一些不错的微服务框架
* 分布式编程
* GUI开发
* 中间件开发，比如es, zk
* 自动化测试，比如selenium

作为一门优秀的编译型语言，java基本可以满足大多数测试同学的需求。


### go

golang凭借着简单易学的语言元素以及不错的开发效率和执行效率，近几年变得越发流行。

如果大家有时间学习一门编译型语言，我可能会更推荐go而不是java。go可以做这些事情

* cli工具开发，docker的cli就是go写的
* 各种中间件，比如promethus就是go实现的
* 分布式系统
* web后台开发，通用后台开发
* 性能测试以及接口测试
* gui开发
* 游戏开发

go的学习曲线在编译型语言里应该是比较平滑的，很适合测试同学写一些小工具和后台。

### 总结

总之测试同学可能学习两种语言就可以了，一种是编译型，另一种是非编译型的脚本语言。

时间充足都学，时间不够，只学脚本语言，而且无脑选择python就好了。







原始封面

![课程图片](https://images.unsplash.com/photo-1465056836041-7f43ac27dcb5?w=300)


