2013年度TIOBE発表プログラミング言語ランキングとweb系にオススメする言語
2013年度プログラミングランキングがTIOBEから8月に発表されました。少し記事にするのが遅くなってしまいましたが、ちょっとランキングがどうなってるのか気になったので記事にしてみます。その他に人気のあるwebサービスがなんの言語で開発されているのかをちょびっとだけ集めてみましたので、今後勉強したい言語を選ぶ為の材料としていただけると嬉しいです。
2013年度プログラミングランキング表
2012年とそんなに変わりはないのですが、10位以内の言語を合計すると物凄いシェア率になっているんだなと改めて実感してしまいました。言語名をクリックすると10年間のシェア遷移のグラフが見る事が出来ます。
2013年 | 2012年 | 言語名 | シェア率 |
---|---|---|---|
1 | 2 | Java | 15.978% |
2 | 1 | C | 15.974% |
3 | 4 | C++ | 9.371% |
4 | 3 | Objective-C | 8.082% |
5 | 6 | PHP | 6.694% |
6 | 5 | C# | 6.117% |
7 | 7 | (Visual) Basic | 3.873% |
8 | 8 | Python | 3.603% |
9 | 11 | JavaScript | 2.093% |
10 | 10 | Ruby | 2.067% |
11 | 9 | Perl | 2.041% |
12 | 15 | Transact-SQL | 1.393% |
13 | 14 | Visual Basic .NET | 1.320% |
14 | 12 | Object Pascal | 0.918% |
15 | 20 | MATLAB | 0.841% |
16 | 13 | Lisp | 0.752% |
17 | 19 | PL/SQL | 0.751% |
18 | 16 | Pascal | 0.620% |
19 | 23 | Assembly | 0.616% |
20 | 22 | SAS | 0.580% |
こちらは10位以内の言語シェアグラフ
引用元:TIOBE Software: The Coding Standards Company
ボクが応援しているPHPさんも中々がんばっている様子です。
有名どころのwebサービスで使用されている言語
開発言語:PHP、C++
PHP を選んだ理由は、シンプルな言語で学びやすいからだ。書くのも簡単だし、読むのもデバッグも簡単。一方で、ダークサイドもある、ランタイムコストだ。 CPUとメモリの消費が大きいし、ほかの言語と統合するのも難しい。また大規模なプロジェクトでは、モジュール構造をうまくサポートしているとはいえない。
それ以外にも、長い経験から発見したPHPの課題がある。新しく書いたコードが古いコードを遅くするということだ。例えば、PHPで書いたABCという機能にDEFという新機能を付け加えると、たとえABCからDEFを呼び出していなかったとしてもABCの動作が以前より遅くなるのだ。初期化コストなどが増加するためだ。PHPにはこうしたスケーラビリティの課題がある。
そこでわれわれは、PHPの初期化を緩和するためのの拡張であるLazy loadingや、Cache priming、最近ではPHPをC++にコンパイルするといったアプローチを採用している。
引用元:Facebookが大規模スケーラビリティへの挑戦で学んだこと(前編)~800億枚の写真データとPHPのスケーラビリティ問題 - Publickey
開発言語:Scala
ある Anonymous Coward 曰く、
Twitter は Ruby on Rails で構築されたそのインフラを徐々に Scala に置き換えているそうだ (Technology Review の記事, 本家 /. 記事) 。
Twitter ではフロントエンド、バックエンド共に Ruby on Rails が使われていたが、最近では大量のメッセージを処理できず「Fail Whale」出現の原因となったりしていた。このため Twitter の開発チームは代替言語として Scala を採用、少しずつバックエンドやインフラを Scala に置き換えているそうだ。スイス連邦工科大学ローザンヌ校の Martin Odersky 氏によって開発された比較的新しいプログラミング言語である Scala は並列プロセスの処理に長けている点が Twitter に向いており、また言語としてのフレキシビリティも開発にとっては魅力とのこと。短所としては、機能も多く、シンタックスも見慣れた感じでは無いため習得が簡単ではないことと、新しい言語であるため実績がまだ少ないことだという。それでもTwitterでは多くのテストケースを成功させており、Scala の方がメリットが多いと考えているようだ。
開発チームはフロントエンドは Ruby on Rails のまま、年内には API リクエストの一連の処理を Scala で行えるようにしたいとしている。
引用元:Twitter、Ruby on RailsからScalaへ | スラッシュドット・ジャパン IT
mixi
開発言語:Perl
ミクシィは、「LAMP(OSのLinux、WebサーバのApache、DBMSのMySQL、開発言語のPerl、PHP、Python)」と呼ばれるWebシステム向けの標準的なオープンソースソフトウェア(以下、OSS)でシステムを自社開発し、安価なPCサーバを1000台以上連ねる超分散構成でmixiのサービスを支えている(広告配信など周辺機能では、パッケージ製品を採用している部分もある)。このmixiのケースは、MySQLを採用するWebシステムとして、間違いなく世界有数の規模といえる。
引用元:mixiの生みの親“バタラ氏”が語るMySQLの意外な利用法 - TechTargetジャパン システム開発
GitHub
開発言語:Ruby
Rubyを採用しているWebサービスの一例:
Twilog ( http://twilog.org/ )
GitHub ( https://github.com/ )
Favstar.fm ( http://favstar.fm/ )
Twitter ( http://www.twitter.com/ ) (昔の話。今はJava。)
引用元:Webサービス構築に使われているプログラミング言語まとめ - NAVER まとめ
やはりwebサービスはPHPが主流ですが、
最近はRubyがwebサービスでもキテる感がありますね。(2011年あたりから)
webサービスを開発するにあたってオススメしたい言語
webサービスを開発する時に使用するオススメの言語はRubyのRuby on Railsが良いのではないでしょうか。フレームワークは好きではないのですが、このフレームワークに限っては開発スピードがアップしますのでオススメです。
webサービスを構築するのに適している言語一覧表
言語名 | 難易度 | カッコ良さ度 |
---|---|---|
PHP | ★☆☆☆ | ★☆☆☆ |
Ruby | ★★☆☆ | ★★★★ |
Python | ★★☆☆ | ★★★☆ |
Perl | ★★☆☆ | ★★☆☆ |
※ ボクの勝手な偏見です。
200種類以上あると言われているプログラム言語ですがwebサービスを構築するのにはやはりRubyのフレームワークであるRuby on Railsが一番カンタンでカッコいいと思います。
プログラム全般を勉強出来るTATSUO IKURAさんのブログがオススメです。
Ruby on RailsはWebアプリケーション作成のためのフレームワークの一つであり、プログラミング言語としてRubyを使用するフレームワークの代表的なものです。ここではRailsを使ったアプリケーション作成の方法について順に解説を行ないます。
事前に「Railsインストール」を参照して頂きRailsのインストールを行なって下さい。またプログラミング言語のRubyに関しては「Ruby入門」をご参照下さい。
引用元:Ruby on Rails入門
まとめ
Ruby on Rails以外にはボクがメインで使っているPHPもオススメです。バージョンも5.5になり古いバージョンを使う習慣があったPHPですが、最近ではPHPをアップデートして開発する会社も多くなって来たと感じています。プログラム言語はあくまで手段ですので、個人、プロジェクトチームに合った言語を使用してwebサービスを開発していけたらいいですね。