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