コンピュータ言語を選ぶとき、人々は学校で学んだ有名な汎用手続き型言語の一つ、例えばC、Java、Pythonを選ぶかもしれません。しかし、これらのよく選ばれる言語はコンピュータ言語の分野における氷山の一角にすぎません。キーワードと構造を使って情報を伝えるものであれば、それは言語です。以下は、検討に値するトップ10のクラウドコンピューティング言語です。

1. SQLデータ言語

云计算编程语言

データ言語といえば、SQLは数十年にわたって紛れもない王者です。非リレーショナルデータベースサーバーでさえ、何らかのSQL言語を使用しています。ITの他のすべての分野と同様に、クラウドコンピューティングの分野もSQLで溢れています。

これは、どこにでもいる開発者が思わずニヤリとするSQLジョークです。「ある人がバーに入り、テーブルが2つあるのを見て言いました。『一緒に飲んでもいいですか?』」

2. XMLデータ言語

云计算编程语言

XMLは一連の命令を伝えるのではなく、文書を記述するために使われます。XMLは通常、コンピュータに命令を与えないため、一般的にはコンピュータ言語とは見なされません。

XMLは大変人気のあるデータマークアップ言語であり、これは主にJavaのおかげです。JavaがあるところにはXMLがあります。また、Javaはクラウドコンピューティングが普及するずっと前から大規模分散システムを駆動してきたため、XML文書は至る所にあります。Apache Hadoopの設定はXMLファイルに格納されています。

3. R数学言語

云计算编程语言

R言語は多くの開発者が統計数値、レポート、グラフを扱うのを助けます。インタラクティブなRチュートリアルは、新しい開発者にベクター、因子、関連データセットの楽しさを味わわせてくれます。

AmazonはRStudio統合開発環境(IDE)をEMR(Elastic MapReduce)サービスとバンドルし、ビッグデータ分析を支援しています。

4. Clojure数学言語

云计算编程语言

Clojureは単なる数学言語ではなく、汎用言語であり、関数型言語でもあります。また、偶然にもClojureはデータアナリストの間でも非常に人気があります。

リアルタイムデータストリーム処理システムApache StormはClojureで書かれています。関数型言語はセミコロンを必要としませんが、手続き型言語はセミコロンを必要とします。このClojureスクリプト(https://github.com/apache/storm/blob/master/storm-core/src/clj/backtype/storm/clojure.clj)では、セミコロンがコメントにのみ使われているのがわかります。

5. Haskell関数型言語

Haskellは関数型言語であり、分散計算にとってこれ以上ないほど理想的です。Cloud Haskellプラットフォームプロジェクトは数年前に開始されました。

Haskellは業界でかなり高い採用率を誇り、GitHubのトップ20言語に入っていますが、クラウドコンピューティング分野での採用は今ひとつです。おそらくHaskellは習得が難しいと考えられているためでしょう。Try Haskellチュートリアルで自分で試してみてください。

6. Erlang関数型言語

云计算编程语言

Erlangはエリクソンで生まれました。電気通信業界では、製品は常に稼働し続けなければならず、顧客、連絡先、トランザクション、記録など、すべてが数百万単位で数えられます。

キャリアグレードの関数型言語はクラウドコンピューティングに非常に適しているように聞こえます。実際、GitHubのトップ20言語には入っていませんが、ErlangはRiak、CouchDB、RabbitMQ、さらにはLINGユニカーネルなど、人気のクラウドコンピューティングアプリケーションを支えています。

7. Python手続き型言語

云计算编程语言

Pythonは読みやすさを目的とした高水準言語です。最近では、ほぼすべての人が、本当に誰でもPythonをすぐに始められます。学習を助ける手段には、コース、書籍、さらにはインタラクティブなPythonチュートリアルなどがあります。

OpenStackは人気のあるInfrastructure as a Service(IaaS)管理ソフトウェアで、Pythonで書かれています。Novaクライアントインターフェース向けのこのPythonコード(https://github.com/openstack/python-novaclient/blob/master/novaclient/client.py)を見てみましょう。

8. Go手続き型言語

云计算编程语言

数年前、GoogleはGoを開発しました。当時、Googleの一部のプログラマーはStroustrupのC++のような言語にかなり不満を感じていました。GoogleはインタラクティブなGoチュートリアルとGo Playgroundを提供し、コードを扱えるようにしています。

クラウドコンピューティング分野の寵児として、DockerはGoで書かれており、Dockerエコシステムの他の多くのプロジェクトも同様です。

9. GFMドメイン固有言語

云计算编程语言

GFM(GitHub Flavored Markdown)は、GitHub上のソフトウェアリポジトリを文書化するためのプレーンテキストフォーマット言語です。何百万人もの開発者がGitHubを使用しているため、GFMは何百万人もの開発者によって使用されています。

GitHubにはCloud Foundryのようなクラウド向けのプロジェクトが非常に多くあるので、GFMを理解しておくと良いでしょう。GFMは、この記事で紹介する10の言語の中で最も学びやすいかもしれません。

10. 正規表現ドメイン固有言語

云计算编程语言

Regex(正規表現)の構文は初心者を頭を悩ませます。なぜなら、それは実際には記号的であり、キーワードではなく単一の文字だけだからです。正規表現のコードは、誰かがキーボードの上で寝てしまったように見えます。生涯正規表現言語に触れたくないと思うなら、この極端な例、JSONパーサー(http://www.perlmonks.org/?node_id=995856)を見てみてください。

しかし、正規表現はLinux世界の基盤です。古いUNIXオペレーティングシステムとその後のLinux派生版の中核原則の一つは、テキストを多用することです。テキストは、設定、コマンドライン、プロトコルなど、至る所で使われています。正規表現は開発者がテキストをうまく管理するのに役立ちます。

他にもさらに数百の言語があります

他にも、選択できる優れた言語がはるかにたくさんあります。2010年の古典的な本『7つの言語 7つの世界』(https://pragprog.com/book/btlang/seven-languages-in-seven-weeks)のような本を読んでみるとよいでしょう。この本は、PrologやScalaを含む複数の言語についておおまかに理解させてくれます。あるいは、自分自身の言語の組み合わせを選んでもよいでしょう。

出典:http://www.evget.com/article/2015/3/27/22249.html