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