此外,因爲更多的企業採用開發運維的方法,許多公司力求加大使用自動化的力度。雖然現有的自動化工具能夠爲你處理其中一些工做,可是管理員可以本身編寫腳本是個好主意。而實際上,一些僱主要求任何優秀的系統管理員或其餘基礎設施專業人員都要具有這種能力。
但是,你知道該學習哪幾種編程語言嗎?
本文就介紹了,專家們常常推薦基礎設施專業人員或想成爲這個羣體的人學習的12種語言。很顯然,你可能沒法把這12種語言通通學會,可是至少掌握一種、最好是兩、三種語言能夠幫助你變得更高效、更吃香。html
1.Python前端
不管你什麼時候請教專家,能夠確定:Python會是他們最早提到的兩三種語言之一。緣由何在?linux
首先,Python簡單易學。實際上,若是你在大學接觸編程課,Python多是最早學到的一種語言。此外,它沒有必要編譯,這使得調試起來很快速、很容易。它是一種通用語言,因此能夠將它用於幾乎任何的用途,包括編寫腳本,結合其餘代碼片斷。Python仍是幾種流行的SDN控制器(包括POX和Ryu)使用的語言。web
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方面的知識也許是網絡工程師和管理員在其餘求職者當中脫穎而出的同樣本領。