高效率完成工作的12種熱門編程語言,你會用幾個?
譯文【51CTO.com快譯】編程語言不僅僅面向程序員。如果你是網(wǎng)絡(luò)工程師、系統(tǒng)管理員、存儲管理員或其他基礎(chǔ)設(shè)施專業(yè)人員,知道一種(或兩三種)編程語言,都能在工作中派上用場。
軟件定義基礎(chǔ)設(shè)施正在迅速進(jìn)入數(shù)據(jù)中心,為了管理這種基礎(chǔ)設(shè)施,用你自己編寫的腳本定義網(wǎng)絡(luò)或軟件定義存儲軟件,會對工作很大的幫助。
此外,由于更多的企業(yè)采用開發(fā)運(yùn)維的方法,許多公司力求加大使用自動化的力度。雖然現(xiàn)有的自動化工具可以為你處理其中一些工作,但是管理員能夠自己編寫腳本是個好主意。而實(shí)際上,一些雇主要求任何優(yōu)秀的系統(tǒng)管理員或其他基礎(chǔ)設(shè)施專業(yè)人員都要具備這種能力。
可是,你知道該學(xué)習(xí)哪幾種編程語言嗎?
本文就介紹了,專家們經(jīng)常推薦基礎(chǔ)設(shè)施專業(yè)人員或想成為這個群體的人學(xué)習(xí)的12種語言。很顯然,你可能無法把這12種語言統(tǒng)統(tǒng)學(xué)會,但是至少掌握一種、最好是兩、三種語言可以幫助你變得更高效、更吃香。
1.Python
無論你何時(shí)請教專家,可以肯定:Python會是他們最先提到的兩三種語言之一。原因何在?
首先,Python簡單易學(xué)。實(shí)際上,如果你在大學(xué)接觸編程課,Python可能是最先學(xué)到的一種語言。此外,它沒有必要編譯,這使得調(diào)試起來很快速、很容易。它是一種通用語言,所以可以將它用于幾乎任何的用途,包括編寫腳本,結(jié)合其他代碼片段。Python還是幾種流行的SDN控制器(包括POX和Ryu)使用的語言。
2.Java
據(jù)Tiobe編程語言人氣指數(shù)榜顯示,Java是世界上最流行的編程語言,優(yōu)勢明顯。在最新版的這份指數(shù)榜上,Java的排名優(yōu)勢明顯,幾乎比排名第2的語言C領(lǐng)先一倍。
為何Java如此流行?它幾乎可以在任何地方運(yùn)行,包括安卓和許多物聯(lián)網(wǎng)設(shè)備。Java學(xué)起來比許多語言更容易(可是不如Python容易),又因?yàn)樗鼩v史悠久,網(wǎng)上有許多幫助和資源。由于廢料收集和例外之類的功能,Java允許錯誤。此外,數(shù)量眾多的編程工具支持Java,所以編寫Java代碼往往相當(dāng)容易。
值得一提的是,IT工作公告欄上往往有許多崗位需要Java知識,所以如果你學(xué)習(xí)這種語言,不僅擁有一種有助于基礎(chǔ)設(shè)施管理的技能,還能幫助你在以后找到另一份工作。
3.PowerShell
如果你是經(jīng)常與Windows環(huán)境打交道的基礎(chǔ)設(shè)施專業(yè)人員,許多專家表示,應(yīng)該將PowerShell列為應(yīng)考慮學(xué)習(xí)的主要語言之一。PowerShell是微軟自主開發(fā)的一種腳本語言和配置管理框架,可用于處理Windows服務(wù)器。它內(nèi)置在微軟的服務(wù)器產(chǎn)品中,使用它可以顯示信息,處理用標(biāo)準(zhǔn)管理工具找不到的信息或干不了的事情。
今年早些時(shí)候,微軟開放了PowerShell的源代碼,將它提供給MacOS和Linux平臺。這意味著,如果你使用PowerShell編寫為Windows服務(wù)器自動處理任務(wù)的腳本,現(xiàn)在還可以將同一工具用于MacOS和Linux服務(wù)器。
4.Bash
Bash與Linux,好比PowerShell之于Windows。它是大多數(shù)Linux發(fā)行版的默認(rèn)外殼腳本語言。正因?yàn)槿绱耍鼧O其適用于在基于UNIX的系統(tǒng)上自動化處理系統(tǒng)管理任務(wù)。
實(shí)際上,一些專家表示,要是不知道Bash,Linux管理員其實(shí)無法做好工作。然而,其他人認(rèn)為,由于你用Bash處理的一切任務(wù)用Python也可以處理,所以Bash不再必不可少。另一方面,Bash有時(shí)是編寫自動化腳本的最快方法,學(xué)起來也很容易。
5.TCL
TCL給網(wǎng)絡(luò)專業(yè)人員帶來了特別的好處,因?yàn)樗梢栽谠S多思科路由器及其他網(wǎng)絡(luò)硬件上運(yùn)行。它是一種開源腳本語言,非常適合自動化處理網(wǎng)絡(luò)管理和安全任務(wù)。它還與C很好地集成起來。
除了嵌入式應(yīng)用程序外,TCL還經(jīng)常用來創(chuàng)建用戶界面,尤其是針對Unix系統(tǒng)。它還可以在Windows和Linux中運(yùn)行,但是現(xiàn)在的人氣不像過去那么旺了。
6.C
與Java一樣,C也是一種通用編程語言;與Java一樣,它也極其流行。好幾年來,C在Tiobe人氣指數(shù)榜上的排名實(shí)際上比Java還靠前,不過最近遠(yuǎn)遠(yuǎn)掉到了第2位。它自上世紀(jì)70年代以來就問世了,所以很容易找到與這種語言有關(guān)的幫助和資源。
許多計(jì)算機(jī)科學(xué)家表示,學(xué)習(xí)C可以教學(xué)生了解計(jì)算機(jī)程序的真正原理,還有一些人認(rèn)為,它應(yīng)該是計(jì)算機(jī)學(xué)學(xué)生學(xué)會的第一種語言。它學(xué)用和維護(hù)起來不如Python和Java等語言來得容易,但是讓你可以直接控制系統(tǒng)。它為另外幾種編程語言提供了基礎(chǔ),幾款軟件定義基礎(chǔ)設(shè)施工具是用C編寫的。
簡而言之,如果你確實(shí)想深入了解編程的基本方面,應(yīng)該考慮學(xué)習(xí)C。如果你只是尋求一種編寫自動化腳本的簡便方法,另外一種語言也許是更好的選擇。
7.C++
你從名稱中也猜出來了,C++與C的關(guān)系非常緊密。它同樣有著C的許多優(yōu)缺點(diǎn)。
在Tiobe人氣指數(shù)榜上,C++是人氣排名第三的編程語言;由于C++是比較成熟的語言之一,它有大量的資源可供使用。C++程序運(yùn)行起來很快,但是也與C一樣,這種語言復(fù)雜,難以掌握。一些軟件定義基礎(chǔ)設(shè)施工具是用C++編寫的,它可以教你編程方面的基本知識。它對你的IT職業(yè)生涯大有助益,但是專家們表示,如果你只需要迅速編寫一些腳本,它恐怕不是你的第一選擇。
8.JavaScript
雖然JavaScript主要以一種前端Web開發(fā)語言而出名,但同樣適用于后端開發(fā)(通過Node.js)以及編寫自動化腳本。它也是世界上最受歡迎的編程語言之一,在Tiobe人氣指數(shù)榜上排名第6,在PYPL編程語言人氣指數(shù)排行榜上排名第5。
此外,它似乎在變得更受歡迎,可以在任何IT工作布告欄上找到大量的JavaScript崗位。學(xué)用起很容易,不過要精通很難。
9.Perl
Perl經(jīng)常與Python一起相提并論,它是腳本語言的最佳選擇之一。許多比較舊的Linux或Unix系統(tǒng)運(yùn)行Perl腳本,所以如果你是基礎(chǔ)設(shè)施專業(yè)人員,要維護(hù)這種比較舊的系統(tǒng),對這種語言有一番了解是個好主意。除了用于一些舊的網(wǎng)站外,Perl還經(jīng)常用于網(wǎng)絡(luò)和安全原型。
在最新的Tiobe人氣指數(shù)榜上,Perl排名第9,所以它仍是一種大受歡迎的編程語言,但一些人認(rèn)為,由于Python等語言的人氣變得更旺,Perl在漸行漸遠(yuǎn)。
10.PHP
PHP經(jīng)常用于web開發(fā),尤其是客戶服務(wù)器端,這是另一種流行的通用腳本語言。它可在各大操作系統(tǒng)上運(yùn)行,尤其適合與基于SQL的數(shù)據(jù)庫進(jìn)行交互,這是Web開發(fā)人員常常用它的原因之一。
PHP也很受歡迎,目前在Tiobe人氣指數(shù)榜上排名第7,所以你在網(wǎng)上能找到關(guān)于它的大量信息。然而,許多web開發(fā)人員由PHP改用Ruby用于web開發(fā),Python往往因用于自動化腳本而更受歡迎。不過,如果你的工作需要維護(hù)網(wǎng)站服務(wù)器,了解這種語言將大有幫助。
11.Ruby
Ruby是有時(shí)被譽(yù)為“漂亮”、“自然”的少數(shù)編程語言之一。其開發(fā)者松本行弘(Yukihiro Matsumoto)想創(chuàng)建一種開發(fā)人員喜歡使用的語言,Ruby以簡單易學(xué)而著稱。目前,它在Tiobe人氣指數(shù)榜上排名第13。
與PHP一樣,Ruby也最常用于Web開發(fā)。它常常與Rails Web開發(fā)框架結(jié)合使用(太常結(jié)合使用了,以至于一些人誤以為這門語言的名稱是Ruby on Rails)。然而,它也可以用于其他腳本用途。對管理網(wǎng)站服務(wù)器的基礎(chǔ)設(shè)施專業(yè)人員來說,Ruby是另一個不錯的選擇。
12.Frenetic
作為本文中一種最新的語言,F(xiàn)renetic在2010年前后才問世。不像本文介紹的其余語言,它是專門為軟件定義網(wǎng)絡(luò)(SDN)設(shè)計(jì)的。它實(shí)際上是個語言家族,包括Frenetic-OCaml和Pyretic,前者由康乃爾大學(xué)的研究人員開發(fā),后者由普林斯頓大學(xué)的研究人員開發(fā)。
如果你要與基于OpenFlow的SDN環(huán)境打交道,F(xiàn)renetic可以幫助你控制網(wǎng)絡(luò)中發(fā)生的情況。然而由于這種語言實(shí)在太新了,網(wǎng)上相關(guān)資源不是很多,你也找不到需要Frenetic的大量工作崗位。另一方面,由于軟件定義基礎(chǔ)設(shè)施已變得更普遍,掌握Frenetic方面的知識也許是網(wǎng)絡(luò)工程師和管理員在其他求職者當(dāng)中脫穎而出的一樣本領(lǐng)。
原文標(biāo)題:12-hot-programming-languages-infrastructure-pros
原文作者:Cynthia Harvey
【51CTO譯稿,合作站點(diǎn)轉(zhuǎn)載請注明原文譯者和出處為51CTO.com】