如何選擇適合自己的云計(jì)算編程語(yǔ)言組合?
譯文說(shuō)到選擇要使用的編程語(yǔ)言組合,既有正確的方式,也有錯(cuò)誤的方式。本文幫助云計(jì)算開(kāi)發(fā)人員邁上正確的道路。
用CSS編寫的《辛普森一家》(The Simpsons),這個(gè)項(xiàng)目出自開(kāi)發(fā)人員Chris Pattle之手。
知識(shí)論壇Big Think拍攝了一則采訪C++編程語(yǔ)言***Bjarne Stroustrup的視頻:“編程人員應(yīng)該知道的五門最重要的語(yǔ)言是什么?”他說(shuō)。“要是他們只知道一門語(yǔ)言,就沒(méi)資格自稱是專業(yè)開(kāi)發(fā)人員。”
所以在Stroustrup看來(lái),說(shuō)“我喜愛(ài)Perl。世界上只有一門語(yǔ)言,那就是Perl。”沒(méi)什么用。如果入門級(jí)開(kāi)發(fā)人員摸透了擅長(zhǎng)的***門語(yǔ)言,想在云計(jì)算領(lǐng)域大有作為,就需要學(xué)會(huì)好幾門編程語(yǔ)言,才有一席之地。那么到底是哪幾門呢?云計(jì)算開(kāi)發(fā)人員應(yīng)該挑選哪幾門編程語(yǔ)言?
按人氣來(lái)挑選語(yǔ)言?
如果一名初出茅廬的開(kāi)發(fā)人員需要賺錢,不妨留意雇主要求的編程語(yǔ)言。IEEE Top Programming Languages這款應(yīng)用程序(http://spectrum.ieee.org/static/interactive-the-top-programming-languages,需要注冊(cè))詳細(xì)列出了這些語(yǔ)言。
大家也忍不住想選擇人氣最量的語(yǔ)言。GitHub上的前20門編程語(yǔ)言(http://githut.info)概述了這方面的情況。
不過(guò),以這種方式挑選語(yǔ)言會(huì)導(dǎo)致你的編程語(yǔ)言組合零敲碎打。這是個(gè)問(wèn)題,一方面是由于開(kāi)發(fā)人員***并不通曉一大批廣泛的語(yǔ)言類型(偏向通用語(yǔ)言),一方面是由于這隱藏了開(kāi)發(fā)的細(xì)節(jié)。
立旨想成為微軟Azure開(kāi)發(fā)人員的人需要能夠開(kāi)發(fā)整套系統(tǒng)。一名優(yōu)秀的微軟開(kāi)發(fā)人員也許熟悉這一系列語(yǔ)言:C#、HTML5、LINQ、NHibernate和ASP.NET。什么?它們并不都是語(yǔ)言啊?可它們都含有語(yǔ)言。要是有詞匯、正式語(yǔ)法,而且需要開(kāi)發(fā)人員編寫代碼,那它就是一門語(yǔ)言。
按類別挑選語(yǔ)言!
如果一名開(kāi)發(fā)人員確實(shí)想認(rèn)真掌握一大批語(yǔ)言專長(zhǎng),就應(yīng)該在這五個(gè)類別尋找他們喜歡的語(yǔ)言。這里包括了十個(gè)語(yǔ)言例子,可以幫助嶄露頭角的編程人員盡快上手。
數(shù)據(jù)語(yǔ)言
數(shù)據(jù)是所有云計(jì)算的核心(想一想物聯(lián)網(wǎng)和大數(shù)據(jù)),這讓數(shù)據(jù)語(yǔ)言成為一門最重要的語(yǔ)言。UML和SGML是用于數(shù)據(jù)建模的描述語(yǔ)言。HTTP含有用于處理數(shù)據(jù)的CRUD(創(chuàng)建、更換、更新和刪除)命令。
數(shù)學(xué)語(yǔ)言
數(shù)據(jù)語(yǔ)言是一款神奇的工具,可以將大數(shù)據(jù)變成商業(yè)金礦。而云中有大量的數(shù)據(jù)。數(shù)學(xué)家們喜愛(ài)MATLAB和R。Fortran不僅是最悠久的例子,它還是各門編程語(yǔ)言中最古老的語(yǔ)言之一。
函數(shù)語(yǔ)言
這個(gè)函數(shù)是指數(shù)據(jù)函數(shù),而不是編程功能。通用函數(shù)語(yǔ)言常常含有數(shù)學(xué)語(yǔ)言的特征。你在云計(jì)算中不會(huì)找到太多的LISP(最古老的函數(shù)語(yǔ)言),但會(huì)找到大量的Clojure(***穎的函數(shù)語(yǔ)言)。
過(guò)程語(yǔ)言
這是大多數(shù)人一想到計(jì)算機(jī)語(yǔ)言就會(huì)想到的一門編程語(yǔ)言。過(guò)程語(yǔ)言中的逐步指示可以隱藏所有的繁重工作(就像JavaScript那樣),或者暴露低級(jí)特性(就像C那樣)。GitHub上的前20門編程語(yǔ)言和IEEE前10門編程語(yǔ)言中大部分是過(guò)程語(yǔ)言。
特定領(lǐng)域語(yǔ)言
特定領(lǐng)域語(yǔ)言是語(yǔ)言領(lǐng)域的大雜燴式組合。“特定領(lǐng)域”是那些有用但又模糊的集合名詞之一。你可以說(shuō),每門語(yǔ)言存在于某個(gè)領(lǐng)域――比如說(shuō),所有數(shù)學(xué)語(yǔ)言都存在于數(shù)學(xué)領(lǐng)域。然而,這個(gè)術(shù)語(yǔ)通常適用于解決特定問(wèn)題的小語(yǔ)言。
一種流行的特定領(lǐng)域語(yǔ)言集合在于云和人之間的接口:Web。前端開(kāi)發(fā)人員可能使用通用編程語(yǔ)言(比如說(shuō)PHP)和許多特定領(lǐng)域語(yǔ)言(比如CSS、HTML、SOAP和YAML),開(kāi)發(fā)實(shí)用的網(wǎng)站。
開(kāi)發(fā)是出于愛(ài)好還是賺錢?
對(duì)開(kāi)發(fā)新手來(lái)說(shuō),選擇編程語(yǔ)言組合比開(kāi)發(fā)老手來(lái)得容易。云計(jì)算的規(guī)模意味著,工作是由商業(yè)團(tuán)隊(duì),而不是個(gè)人完成的。而說(shuō)到支付費(fèi)用,開(kāi)發(fā)人員不得不使用雇主要求的語(yǔ)言。
另一方面,如果一名經(jīng)驗(yàn)豐富的開(kāi)發(fā)人員想學(xué)習(xí)新的技能,他們可以選擇一個(gè)開(kāi)源云項(xiàng)目,在業(yè)余時(shí)間貢獻(xiàn)代碼。這方面選擇很廣泛,他們可以選擇自己偏愛(ài)的任何一門語(yǔ)言。如果這個(gè)想法很吸引你,不妨訪問(wèn)OpenHatch(http://openhatch.org),尋求幫助。
原文標(biāo)題:How to choose your portfolio of cloud programming languages