说到选择要使用的编程语言组合,既有正确的方式,也有错误的方式。本文帮助云计算开发人员迈上正确的道路。
用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