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