此外,因为更多的企业采用开发运维的方法,许多公司力求加大使用自动化的力度。虽然现有的自动化工具能够为你处理其中一些工做,可是管理员可以本身编写脚本是个好主意。而实际上,一些雇主要求任何优秀的系统管理员或其余基础设施专业人员都要具有这种能力。
但是,你知道该学习哪几种编程语言吗?
本文就介绍了,专家们常常推荐基础设施专业人员或想成为这个群体的人学习的12种语言。很显然,你可能没法把这12种语言通通学会,可是至少掌握一种、最好是两、三种语言能够帮助你变得更高效、更吃香。前端
1.Pythonlinux
不管你什么时候请教专家,能够确定:Python会是他们最早提到的两三种语言之一。缘由何在?web
首先,Python简单易学。实际上,若是你在大学接触编程课,Python多是最早学到的一种语言。此外,它没有必要编译,这使得调试起来很快速、很容易。它是一种通用语言,因此能够将它用于几乎任何的用途,包括编写脚本,结合其余代码片断。Python仍是几种流行的SDN控制器(包括POX和Ryu)使用的语言。数据库
2.Java编程
据Tiobe编程语言人气指数榜显示,Java是世界上最流行的编程语言,优点明显。在最新版的这份指数榜上,Java的排名优点明显,几乎比排名第2的语言C领先一倍。
为什么Java如此流行?它几乎能够在任何地方运行,包括安卓和许多物联网设备。Java学起来比许多语言更容易(但是不如Python容易),又由于它历史悠久,网上有许多帮助和资源。因为废料收集和例外之类的功能,Java容许错误。此外,数量众多的编程工具支持Java,因此编写Java代码每每至关容易。
值得一提的是,IT工做公告栏上每每有许多岗位须要Java知识,因此若是你学习这种语言,不只拥有一种有助于基础设施管理的技能,还能帮助你在之后找到另外一份工做。后端
3.PowerShell安全
若是你是常常与Windows环境打交道的基础设施专业人员,许多专家表示,应该将PowerShell列为应考虑学习的主要语言之一。PowerShell是微软自主开发的一种脚本语言和配置管理框架,可用于处理Windows服务器。它内置在微软的服务器产品中,使用它能够显示信息,处理用标准管理工具找不到的信息或干不了的事情。
今年早些时候,微软开放了PowerShell的源代码,将它提供给MacOS和Linux平台。这意味着,若是你使用PowerShell编写为Windows服务器自动处理任务的脚本,如今还能够将同一工具用于MacOS和Linux服务器。服务器
4.Bash网络
Bash与Linux,比如PowerShell之于Windows。它是大多数Linux发行版的默认外壳脚本语言。正由于如此,它极其适用于在基于UNIX的系统上自动化处理系统管理任务。
实际上,一些专家表示,要是不知道Bash,Linux管理员其实没法作好工做。然而,其余人认为,因为你用Bash处理的一切任务用Python也能够处理,因此Bash再也不必不可少。另外一方面,Bash有时是编写自动化脚本的最快方法,学起来也很容易。框架
5.TCL
TCL给网络专业人员带来了特别的好处,由于它能够在许多思科路由器及其余网络硬件上运行。它是一种开源脚本语言,很是适合自动化处理网络管理和安全任务。它还与C很好地集成起来。
除了嵌入式应用程序外,TCL还常常用来建立用户界面,尤为是针对Unix系统。它还能够在Windows和Linux中运行,可是如今的人气不像过去那么旺了。
6.C
与Java同样,C也是一种通用编程语言;与Java同样,它也极其流行。好几年来,C在Tiobe人气指数榜上的排名实际上比Java还靠前,不过最近远远掉到了第2位。它自上世纪70年代以来就问世了,因此很容易找到与这种语言有关的帮助和资源。
许多计算机科学家表示,学习C能够教学生了解计算机程序的真正原理,还有一些人认为,它应该是计算机学学生学会的第一种语言。它学用和维护起来不如Python和Java等语言来得容易,可是让你能够直接控制系统。它为另外几种编程语言提供了基础,几款软件定义基础设施工具是用C编写的。
简而言之,若是你确实想深刻了解编程的基本方面,应该考虑学习C。若是你只是寻求一种编写自动化脚本的简便方法,另一种语言也许是更好的选择。
7.C++
你从名称中也猜出来了,C++与C的关系很是紧密。它一样有着C的许多优缺点。
在Tiobe人气指数榜上,C++是人气排名第三的编程语言;因为C++是比较成熟的语言之一,它有大量的资源可供使用。C++程序运行起来很快,可是也与C同样,这种语言复杂,难以掌握。一些软件定义基础设施工具是用C++编写的,它能够教你编程方面的基本知识。它对你的IT职业生涯大有助益,可是专家们表示,若是你只须要迅速编写一些脚本,它恐怕不是你的第一选择。
8.JavaScript
虽然JavaScript主要以一种前端Web开发语言而出名,但一样适用于后端开发(经过Node.js)以及编写自动化脚本。它也是世界上最受欢迎的编程语言之一,在Tiobe人气指数榜上排名第6,在PYPL编程语言人气指数排行榜上排名第5。
此外,它彷佛在变得更受欢迎,能够在任何IT工做布告栏上找到大量的JavaScript岗位。学用起很容易,不过要精通很难。
9.Perl
Perl常常与Python一块儿相提并论,它是脚本语言的最佳选择之一。许多比较旧的Linux或Unix系统运行Perl脚本,因此若是你是基础设施专业人员,要维护这种比较旧的系统,对这种语言有一番了解是个好主意。除了用于一些旧的网站外,Perl还常常用于网络和安全原型。
在最新的Tiobe人气指数榜上,Perl排名第9,因此它还是一种大受欢迎的编程语言,但一些人认为,因为Python等语言的人气变得更旺,Perl在渐行渐远。
10.PHP
PHP常常用于web开发,尤为是客户服务器端,这是另外一种流行的通用脚本语言。它可在各大操做系统上运行,尤为适合与基于SQL的数据库进行交互,这是Web开发人员经常用它的缘由之一。
PHP也很受欢迎,目前在Tiobe人气指数榜上排名第7,因此你在网上能找到关于它的大量信息。然而,许多web开发人员由PHP改用Ruby用于web开发,Python每每因用于自动化脚本而更受欢迎。不过,若是你的工做须要维护网站服务器,了解这种语言将大有帮助。
11.Ruby
Ruby是有时被誉为“漂亮”、“天然”的少数编程语言之一。其开发者松本行弘(Yukihiro Matsumoto)想建立一种开发人员喜欢使用的语言,Ruby以简单易学而著称。目前,它在Tiobe人气指数榜上排名第13。
与PHP同样,Ruby也最经常使用于Web开发。它经常与Rails Web开发框架结合使用(太常结合使用了,以致于一些人误觉得这门语言的名称是Ruby on Rails)。然而,它也能够用于其余脚本用途。对管理网站服务器的基础设施专业人员来讲,Ruby是另外一个不错的选择。
12.Frenetic
做为本文中一种最新的语言,Frenetic在2010年先后才问世。不像本文介绍的其他语言,它是专门为软件定义网络(SDN)设计的。它其实是个语言家族,包括Frenetic-OCaml和Pyretic,前者由康乃尔大学的研究人员开发,后者由普林斯顿大学的研究人员开发。
若是你要与基于OpenFlow的SDN环境打交道,Frenetic能够帮助你控制网络中发生的状况。然而因为这种语言实在太新了,网上相关资源不是不少,你也找不到须要Frenetic的大量工做岗位。另外一方面,因为软件定义基础设施已变得更广泛,掌握Frenetic方面的知识也许是网络工程师和管理员在其余求职者当中脱颖而出的同样本领。
免费提供最新Linux技术教程书籍,为开源技术爱好者努力作得更多更好:http://www.linuxprobe.com/