1. SQL數(shù)據(jù)語言
說到數(shù)據(jù)語言,SQL是幾十年來無可爭議的霸主。連非關(guān)系型數(shù)據(jù)庫服務(wù)器也使用某種SQL語言。就跟IT的其他所有領(lǐng)域一樣,云計(jì)算領(lǐng)域同樣充斥著SQL。
這是每個(gè)地方的開發(fā)人員都會(huì)會(huì)心一笑的SQL玩笑。“有人走進(jìn)一間酒吧,看到兩張桌子。他說‘我可以跟你一起喝嗎?’”
2. XML數(shù)據(jù)語言
XML用來描述文檔,而不是傳達(dá)一串指令。由于XML通常并不給計(jì)算機(jī)下達(dá)指令,它通常不被認(rèn)為是一門計(jì)算機(jī)語言。
XML是大受歡迎的數(shù)據(jù)標(biāo)記語言,而這主要?dú)w因于Java。只要有Java的地方,就有XML。又由于Java自從早在云計(jì)算大行其道之前就一直驅(qū)動(dòng)大規(guī)模分布式系統(tǒng),XML文檔無處不在。Apache Hadoop配置就駐留在XML文件中。
3. R數(shù)學(xué)語言
R語言幫助廣大開發(fā)人員處理統(tǒng)計(jì)數(shù)字、報(bào)告和圖形。交互式R教程讓新的開發(fā)人員領(lǐng)略向量、因子及關(guān)聯(lián)數(shù)據(jù)集帶來的樂趣。
亞馬遜將RStudio集成開發(fā)環(huán)境(IDE)與其EMR(彈性MapReduce)服務(wù)捆綁起來,幫助進(jìn)行大數(shù)據(jù)分析。
4. Clojure數(shù)學(xué)語言
Clojure不僅僅是一門數(shù)學(xué)語言,它既是一門通用語言,還是一門函數(shù)語言。另外說來也巧,Clojure在數(shù)據(jù)分析人員當(dāng)中也大受歡迎。
實(shí)時(shí)數(shù)據(jù)流處理系統(tǒng)Apache Storm用Clojure編寫而成。函數(shù)語言不需要分號(hào),而過程語言需要分號(hào);你能看到分號(hào)只用于這個(gè)Clojure腳本(https://github.com/apache/storm/blob/master/storm-core/src/clj/backtype/storm/clojure.clj)中的注釋。
5.Haskell函數(shù)語言
Haskell是一門函數(shù)語言,就分布式計(jì)算而言再理想不過了;云Haskell平臺(tái)項(xiàng)目在幾年前就啟動(dòng)了。
盡管Haskell在業(yè)界有相當(dāng)高的采用率,而且躋身GitHub前20門語言,但Haskell在云計(jì)算領(lǐng)域的采用情況差強(qiáng)人意――可能是Haskell被認(rèn)為太難學(xué)會(huì)。你可以在Try Haskell教程中自己體驗(yàn)一把。
6. Erlang函數(shù)語言
Erlang脫胎于愛立信。在電信行業(yè),產(chǎn)品必須永遠(yuǎn)持續(xù)運(yùn)行,而任何東西(客戶、聯(lián)系、事務(wù)和記錄)都以數(shù)百萬計(jì)算。
電信級(jí)函數(shù)語言聽起來非常適合云計(jì)算。而實(shí)際上,盡管沒有躋身GitHub前20門語言,但Erlang驅(qū)動(dòng)廣受歡迎的云計(jì)算應(yīng)用程序,包括Riak、CouchDB、RabbitMQ,甚至還有LING單內(nèi)核。
7. Python過程語言
Python是一門旨在易于閱讀的高級(jí)語言。這年頭,幾乎每個(gè)人、確實(shí)每個(gè)人都能從Python盡快上手。學(xué)習(xí)輔助手段包括:課程、圖書,甚至交互式Python教程。
OpenStack是流行的基礎(chǔ)設(shè)施即服務(wù)(IaaS)管理軟件,它用Python編寫而成。不妨看一下面向Nova客戶界面的這段Python代碼(https://github.com/openstack/python-novaclient/blob/master/novaclient/client.py)。
8. Go過程語言
幾年前,谷歌開發(fā)了Go;當(dāng)時(shí)谷歌的一些編程人員對(duì)Stroustrup的C++之類的語言頗為沮喪。谷歌提供了交互式Go教程和Go Playground,以便處理代碼。
作為云計(jì)算領(lǐng)域的寵兒,Docker就是用Go編寫而成的,Docker生態(tài)系統(tǒng)的其他許多項(xiàng)目也是如此。
9. GFM特定領(lǐng)域語言
GFM(GitHub Flavored Markdown)是一種明文格式語言,可用于記錄GitHub上的軟件庫。GFM被數(shù)百萬的開發(fā)人員所使用,因?yàn)閿?shù)百萬的開發(fā)人員使用GitHub。
由于GitHub上有那么多專門針對(duì)云的項(xiàng)目,比如Cloud Foundry,了解GFM是好事。它可能是本文介紹的十門語言中學(xué)起來最簡單的。
10. 正則表達(dá)式特定領(lǐng)域語言
不過,正則表達(dá)式是Linux世界的基石。舊的UNIX操作系統(tǒng)及Linux后續(xù)衍生版的核心原則之一就是大量使用文本。文本到處使用,用于配置、命令行上以及協(xié)議中。正則表達(dá)式幫助開發(fā)人員管理好文本。
還有另外數(shù)百門語言
還有多得多的優(yōu)秀語言可供選擇。不妨花點(diǎn)時(shí)間讀一讀像2010年經(jīng)典書《七周七門語言》(https://pragprog.com/book/btlang/seven-languages-in-seven-weeks)這樣的圖書,該書讓你大體了解包括Prolog和Scala在內(nèi)的多門語言。或者,你也可以選擇自己的語言組合。